Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Given a huge (3rd party) library with hundreds of classes and interfaces, I find it hard to follow Javadoc to:
- keep track of class hierarchy,
- compare/contrast related classes/interfaces.
The goal is to find out the differences, understand what a class/interface does/doesn't do, so as to be able to use the library correctly and efficiently.
Is there currently a tool that takes a javadoc of a given class/interface, generate its hierarchy diagram, and compare/contrast the differences b/t a child and its parents/grandparents/siblings?
Of course, this can be done manually, but is every time-consuming. Is there a more effective way to do this? Thank you.
EDIT:
- I should add that I don't have access to the library's source code.
- The library is given in a jar with scantily-worded javadoc (just class/interface/method signatures, somewhat meaningful names and some descriptions).
Yes, it's possible to create diagrams of the relationships of classes through reverse-engineering. Here's a tutorial on reverse-engineering source code to produce UML diagrams: http://java.dzone.com/articles/reverse-engineer-source-code-u
I haven't heard of such a tool, but what you can do (at least in Eclipse, but probably in all the other IDEs as well) is to attach the javadoc to the library you imported in your project. That way you can use the IDEs navigation/tree display features while reading the javadoc.
I know this isn't exactly the answer you were expecting but I hope it helps.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I have pretty standard java project with standard gradle layout, all sources are stored in git. I want to write documentation in markdown (or similar markup language) and keep all files in project directory (e.g. docs/ folder in the root). Then I want to generate static site or push my sources somewhere to have access to full documentation in html (should be self-hosted solution).
It will be good if I'm able to add simple link to other articles (like I do it in any wiki engine by using [[article]]). And It would be perfect if I've been able to add quick links to javadoc by the same technique as link to articles. And also it would be perfect if it has had built-in search engine.
I've gone through couple of static site generators but I didn't find anything which can satisfy my requirements at least half. Is there something like that? Or I need to code it by myself (I know it won't take to much time)? Maybe there's more common use case for documentation?
You have to use the concept of Doclets. There are some out there. Maybe just try this one:
https://github.com/Abnaxos/pegdown-doclet
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
apologies if the question is a duplicate.
Actually I am looking for a automated checking tool to identify:
the missing javadoc,
incomplete javadoc or
missing brief
test and identify spelling or grammar mistakes in javadoc comments.
I know there are few tools available to do these things such as checkstyle and open javadoc check etc. But I would need suggestions if there are any more tools available if yes, which one would be more suitable for my need.
IDEs (Integrated Development Environments) commonly include spell-checking in javadocs and comments. I know that Eclipse definitely does ( http://www.eclipse.org/downloads/ - pick IDE for java developers 150mb).
Also, you shouldn't have to apoligize for whether the question is a duplicate - your first resource should be to google, your second resource SO search, and your third resource the "Similar Questions" box you get while typing your title.
About spelling and grammar - do you do code reviews before people check their code in? How about checking the spelling and grammar then?
For the already existing classes - if you really need a better grammar check, you would either have to use a commercial tool or write a tool yourself (e.g. a python script that parses all javadocs and runs a spell and grammar checker on it)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I've been trying to find a Java linter capable of running on the CLI that is separate from Eclipse that I can call as a commit hook for git or from our automated build script. Does such a thing exist?
Ideally it needs to check for unused imports and variables, that style guidelines are followed, exceptions are used properly, etc. Though some subset of those features would be better that what we have now - nothing!
SpotBugs (earlier Findbugs) for finding existing bugs. VERY GOOD!
PMD for finding patterns that can lead to bugs (e.g. unused variables)
Checkstyle to enforce coding standards and conventions (e.g. whitespace, Javadoc)
Error Prone hooks right into your application's compile step
clang-format supports java and may be available on your system already
All these tools have some overlapping rules. There are many other similar tools, but these are the most popular and supported.
Also, check out Sonar, which combines many of the other tools and provides a nice view for it too.
rules from Checkstyle, FindBugs, PMD, Clirr, fb-contrib.
Not sure exactly how to add it to a post-commit hook, but http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven might be a good starting point (especially if you're using maven).
Maybe even consider using one of the approaches listed in http://docs.codehaus.org/display/SONAR/Continuous+Integration since it seems that you might be trying to look for better tooling for your whole team ("Though some subset of those features would be better that what we have now - nothing!"
This is EXACTLY what I am working on: a tool CLI-friendly to be used to check the quality of Java code. It has also an interactive modality. You can run single queries (to check for single warnings) or all queries together.
The tools is in its early stage but I am working on it almost every day. It is available here:
https://github.com/ftomassetti/effectivejava
Please let me know what do you think about it and feel free to ask questions.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
How can i make a Java program which can update itself. I make this program for use within small team. I do not need any advanced features. I just need a simple and minimal solution.
Java Web Start is meant specifically for this. You ship one jnlp file, and java takes care of fetching the newest version from a server.
Apart from that, you can download updated classes and replace them at runtime.
What do you mean by self-updating ?
If you mean that it changes its behavior at runtime (which is rare), you could create code that writes java code, compiles it, and loads it from within a running program. I've seen that done.
The more common scenario is to have a core program with plug-ins, where the plug-ins themselves can be updated at runtime. The simplest way to do this is simply to use interfaces for these services and then load instantiations of these types at runtime. However, writing a fully robust plug-in framework is usually reinventing the wheel. There are many existing architectures such as OSGi.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I know this question has been asked many times, but here are my specific needs. The obfuscator needs to come in a form of a java library, so I can make an Ant task in order to automate the build process. IE7, 8, Firefox and Chrome must be able to interpret the resulting js very fast (original js file is pretty big - 18k lines of code). If none exist which satisfy these requirements I'm willing to consider a commercial solution.
Some options:
YUI compressor. See Julien Lecomte's blog for example use from Ant.
LCA Soft provide a free Ant task interface to the Dojo Toolkit compressor.
Jawr - Ant task.
(I've not used Jawr or Dojo, so can't comment on which is best.)
Google's closure-compiler is another alternative.
There is a newer free option for Javascript Obfuscation - Roquson. They provide completely free Javascript Obfuscation with additional features like Variable renaming, Domain Locking and Expiration Date.
Check it out here: http://roquson.com
I still believe that jsutility.pjoneil.net provides the best compression of any program available except for gzip. It's obfuscation support is avoids most of the problems with obfuscation. It also now support batch operations.