To launch a series of Top 10 posts, we started by compiling the Top 10 Java Tools!
Since years we would say that Eclipse is the number one Java IDE tool around. But since JavaOne 2006 we consider NetBeans to be a very strong competitor to Eclipse. It seems that the NetBeans Team is adopting new standards more quickly and since release 6.0 more than a reason to reconsider NetBeans as primary tool as IDE. Let's see how the next Eclipse compares to NetBeans 6.5 (which has been released as Beta).
Getting recently popular with EJB3, the convention over configuration principle has already been incorporated by Maven for years now. Compared to build tools like Ant, Maven defines a model of your project and makes you think much more about your application's modules. Maven comes with many plugins, delivering functionality out of the box: Creating build artifacts, creating reports on code metrics and even deploy applications to an application server. The recently improved Eclipse integration by Sonatype makes using Maven with Eclipse a real pleasure!
Although CVS is the most used source repository tool at our customers, trends clearly indicate the transition towards Subversion. It was designed as a "better CVS", having all features of its archetype but getting rid of various quirks (working with folders is quite a nightmare with CVS). All in all, Subversion fulfills the needs of enterprise version control and allows us efficient developer collaboration.
Initially started as a small build helper by Java rock star Kohsuke Kawaguchi, Hudson has outrun the de facto continuous integration standard Cruise Control by far. It provides a decent web interface for configuration as well as a great feature set like distributed builds and statistics. Recent versions also included a plugin manager.
PS: It is worth reading the Secrets of Rock Star Programmers interview with Kohsuke in chapter 8.
There are free bug and issue tracking tools around, we know! But, all of them can not be compared (by far) with the feature richness of JIRA. In any case we strongly recommend JIRA. And by the way: We anyway consider Atlassian as a very cool company with high quality products like Confluence, Bamboo, Clover and FishEye... and they also sponsored the beer at this year's JavaOne at the JavaPosse BOF ;-) hickz. Thanks Atlassian!!
The days where people create documents (word, openoffice) have definitely gone! Realtime collaboration and central availability is key for the success of every kind of documentation work. We usually use it in projects at customers as central point of project documentation (most of our customers luckily already have a wiki) and above all as internal knowledge pool at Cambridge Technology Partners for technology summaries and guidelines. Having excellent and up-to-date summaries of certain topics (e.g. EJB3, or a summary of books like "Effective Java") helps us dramatically in supporting junior consultant that start at CTP.
- Oracle XE:
As most customers use Oracle we think that even developers should work with Oracle locally. Therefore, Oracle XE is the best choice to create a local environment that is as close as possible to customer environments.
As a bundling of a number of JDK tools like JConsole, JStack and JInfo, combined with several new and advanced profiling capabilities, VisualVM comes in very handy when quickly profiling an application. It is included in the latest JDK 6 and has a plugin manager which easily allows third party plugin integration (e.g. a GlassFish plugin).
The smallest and fastest console tool ever.
- JAD [JAva Decompiler]:
JAD has proven to be the last resort when dealing with strange effects in third party closed source code, or when documentation is just not complete. The decompiler is available for all the major platforms and also integrates easily into Eclipse.
So that's the Top 10, besides many other cool tools of course ;-)
If you like our selection, you might consider to start or continue your carreer at Cambridge Technology Partners in Zurich and Geneva, because we HIRE !! Here a summary of profiles we are currently looking for:
- Java Geek
- Java Guru
- Java Queen
- Java Dude
- Java Princess (Junior Queen)
- in general: Developers and Architects, for the full list please visit our homepage.