In my J2EE projects I used the following tools:

  1. ANT (if you have already scripts) or Maven2 (it is more interesting for JavaEE 5)
  2. Xdoclet: a flexible and extensible code generator. It is very easy to customize the templates and generate additional code. Generates DDs, Local, Remote, Home, Composite-Keys, Value Objects,  Facades etc.
  3. You can use APT (significanlty faster) instead of XDoclet. But you have to build the generator first…
  4. JBossIDE: an eclipse plugin (actually nature and perspective). Especially useful for code completion of xdoclet-tags (just click: ctrl+space to expand…)
  5. P6SPY: a free sql logging tool. Also binding variables in prepared statements are monitored.
  6. JMeter, Grinder, OpenSta(if possible LoadRunner). Load testing frameworks (from my perspective: even more important then unit-testing)
  7. JunitPerf, HttpUnit:  collection of JUnit test decorators used to measure the performance and scalability of functionality contained within existing JUnit tests.
  8. JConsole: part of Java SE 5. A JMX-monitoring tool.
  9. JEdit: very useful and powerful editor.
  10. Continuum, Ivy or CruiseControl: central build servers (very useful)
  11. JDepend, PMD, FindBugs , CheckStyle, Jalopy: basic QA stuff.
  12. Middlegen: DB import wizzards (can generate Hibernate, CMP 2.0 etc. from DB).
  13. StarUML: a free UML-Tool (sometimes it is required to draw pictures :-))
  14. Squirrel, QuantumDB, Eclipse DTP  or just Netbeans: Database explorers
  15. Jikes: very fast compiler for development
  16. Scriptella, Apache DdlUtils: Database migrations are a critical piece of any project upgrade.
  17. Eclispe WTP, Apache Struts, Ajax, Ruby on Rails : Web development tools.