You’ll probably know many of the tools on this list of 18 choices, but others may be new to you. And odds are you haven’t tried them all yet!
- Gradle: Build tool. Automates the building, testing, publishing, deployment, and more of software as well as generating static websites or documentation.
- Eclipse: Open-source integrated development environment (IDE). If you could have just one tool for Java development, Eclipse would be a good choice.
- IntelliJ: IDE made by JetBrains, available in an Apache 2-licensed community edition and a commercial edition. IntelliJ provides similar features to Eclipse, with a smooth, developer-friendly experience.
- YourKit: Java profiler. Combines powerful analysis capabilities, on-demand profiling during both development and production, free embedding into production, and seamless IDE and application server integration.
- Clover: Code coverage tool from Atlassian. Runs in your IDE or continuous integration system, and includes test optimization to make tests run faster and fail sooner.
- Mockito: Mock library. Open-source testing framework that enables the creation, verification, and stubbing of mocks.
- Jetty: Lightweight, embeddable app server.
- Hibernate: Object-relational mapper. Implements the Java persistence API.
- VisualVM: JVM monitor. An all-in-one Java troubleshooting tool that comes with the JDK.
- JUnit: Unit test framework. Core tool of test-driven development that enables repeatable, white-box testing.
- Jenkins: Continuous integration tool. Customizable with more than 600 plugins.
- Spring Boot: Spring application development system. Works in your build system. Supports Gradle and Maven.
- Guice: Lightweight dependency injection/inversion of Control (IoC) framework, from Google.
- Guava: Utility library. Contains core libraries that Google relies on in Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
- FindBugs: Static code analyzer. Classifies potential errors in code as scariest, scary, troubling, or “of concern.” Available as a standalone GUI or as a plugin for Eclipse, NetBeans, IntelliJ, Gradle, Hudson, and Jenkins.
- Jackson: JSON parser. Aims to be fast, correct, lightweight, and ergonomic for developers.
- Snappy:Compression/decompression library from Google Code. A great resource when speed is a requirement.
- JD-GUI: Decompiler. Standalone graphic utility that displays source codes of “.class” files. Free for non-commercial use (i.e., can’t be included or embedded in commercial products).