Eclipse Java IDE: A Plugin Guide

@author Kai Ruhl
@for Java Developers
@since 2007-11

Abstract

Eclipse is one of the favourite IDEs for Java developers today. Part of the reasons is its well designed plugin model, which allows easy writing of plugins, hence many plugins; and also easy installation, using an update manager which just requires a specific kind of website directory with an XML description file.

However, with the multitude of plugins available (Plugin Directory and Plugin Central are good sites to search), it becomes more difficult to choose which plugins may actually be useful. In this article, I try to list the plugins that I personally have used for a long time and deem useful.

Update 2010-01: Refreshed on JBoss Tools with the advent of the stable Java EE 5 server.

1 Repository

The first thing that I ponder is a better team mechanism, where Git and Mercurial among today's best choices. In Eclipse, it is supported by Egit with as http://download.eclipse.org/egit/updates update site. It was unstable in 2010, but in 2012 it is already usable well.

A little bit old school, Subversion is still better than CVS. There are two plugins for Eclipse: Subclipse, by the same people as Subversion, is the obvious choice. I have used it for a long time and although it always has some quirks (which usually vanish with the next version), it is quite usable. Installation is via http://subclipse.tigris.org/update_1.6.x in the update manager. The other contender is Subversive, running directly under the Eclipse umbrella but less popular due to a slow start back in 2007. I never tried it.

2 UML Design

Good open source UML tools are still quite rare, and I am still using the lean (class diagram and sequence diagram only) plugin AmaterasUML, which has not even an update mechanism; you need to download the package from the site. It also requires GEF (graphical editing framework), which you can install using the standard sources in the update manager.

For more full-blown solutions, the best open source contender seems to be the ArgoUML based ArgoEclipse. I tried it in 2007 and was not impressed; in 2009, there seemed to be no new developments. There are, to my knowledge, no other fully open source UML plugins for Eclipse.

3 Code Quality

Eclipse itself already provides many tools and hints for improving code quality. And you can improve it with many plugins available out there; however most of those code improvement tools are too eager, and provide a million warnings which then usually get ignored.

One simple plugin that I found particularly useful (shameless plug: a friend of mine wrote it) is JLayerCheck, which checks package dependencies and ensures they are upheld. The update site is http://jlayercheck.sf.net/update-site and you need to write one XML file (with the package dependencies) by hand. The plugin is a kind of SonarJ for the poor.

Checkstyle and its Eclipse plugin eclipse-cs are good, but produce too many errors. Same goes for FindBugs. I tried both last in 2005 and it was not possible to remove warnings that were none (i.e. where I had intended the code to be that way). Since I like an empty problem view, I do not use it currently.

4 Python and Latex

I use Python 2.7 for quick coding on arrays, and for using external C++ libraries, which is usually a pain with Java. PyDev is a reasonable Eclipse plugin with http://pydev.org/updates as update site. It uses a non-common certificate so do not update in the background (the dialog will not pop up, just fail). For debug, set the first breakpoint directly in your main loop. Otherwise, it may fail.

For documentation with math in it, I used Latex for a long time. With Texlipse and update site http://texlipse.sourceforge.net, a good plugin is available that directly produces PDFs with pdf2latex.

5 Enterprise Java

I have used the JBoss Application Server and the JBoss Tools for a long time and am reasonably satisfied. Most recently (2010), I used Eclipse 3.5 (Java EE edition) together with the development version JBoss Tools, update site http://download.jboss.org/jbosstools/updates/development/. With the advent of stable versions of Glassfish (plugin) and Geronimo (plugin) you could also try those open source application servers.

On the more basic side, when I use Apache Tomcat, the Sysdeo Tomcat plugin is a good help. Although without update site and officially only supported until Eclipse 3.3, it still works nicely.

6 Installer

So far, I have only written an installer with IzPack, but no Eclipse support here. For multi-platform, the Eclipse Delta pack (choose an Eclipse version, then browse way down the page) is necessary.

People I know have used the Nullsoft Installer (yes, the WinAmp guys) and the NSIS plugin, but this is Windows only.

7 GUI Builder

Netbeans is traditionally better than Eclipse with their Matisse GUI builder, but the Eclipse Visual Editor is trying. Available for Eclipse 3.5 via update site http://download.eclipse.org/tools/ve/updates/1.4/, but not usable with the Java EE version, which unfortunately is what I use.

Conclusion

Eclipse is a good IDE for Java developers with an well designed plugin model. If you found a few good plugins through this article, it was a success. Thanks for leaving a part of your attention span here, and have a good day!

EOF (Dec:2012)