- NetBeans is amazing. With a single download you get a fully integrated Java EE IDE (with CSS editor, HTML 5 support, JPA support, JPA QL auto completion, great maven support, profiler, debugger and DB explorer)
- Maven 3--the simplest possible build tool for Java EE projects. If you follow the conventions, Maven is great! A few years ago, I preferred Ant over Maven, but with Maven 3 performance improvements and the available tooling, Maven 3 is a good choice even for smallest projects.
- VisualVM--a great Java profiler and monitoring tool (not a surprise, it is actually NetBeans subset).
- JMeter--the easy to use load generator
- lightfish.adam-bien.com--I wrote lightfish for easier stress test analysis. LightFish persists and exposes essential GlassFish metrics.
- Mockito--a mocking "framework". Easy to use and convenient. Kills the myth that you need interfaces for efficient unit-testing.
- Eclipse Memory Analyzer Tool--great utility for heap dump analysis (although it is Eclipse based, it is very easy to install and use :-))
- Arquillian--a unit test runner with application server integration. The killer feature: with arquillian you can remove all mocks from src/main/java
- Java Decompiler--if you need to look under the hood.
- Sonar--useful and dangerous at the same time. My favorite feature: the ability to combine code coverage with cyclomatic complexity. See "clouds".
NEW: Effective Java EE 7 -- Available For Streaming