Eclipse, NetBeans, or IntelliJ? Choose your Java IDE

The big three Java IDEs differ in both features and usability; find out which of these venerable toolkits is right for you

Every Java developer needs a programming editor or IDE that can assist with the grungier parts of writing Java and using class libraries and frameworks. Deciding which editor or IDE will best suit you depends on several things, including the nature of the projects under development, your role in the organization, the process used by the development team, and your level and skills as a programmer. Additional considerations are whether the team has standardized on tools, and your personal preferences.

The three IDEs most often chosen for server-side Java development are IntelliJ IDEA, Eclipse, and NetBeans. These aren't the only choices, however, and this review will include some lightweight IDEs as well.

For this review I did fresh installations of IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE, and NetBeans 8.1 Java EE on a MacBook Pro. I also checked out several open source Java projects so that I could test all of the IDEs on the same projects.

Basics: What you need from a Java IDE

At a minimum, you would hope that your IDE supports Java 8, Scala, Groovy, and any other JVM languages you regularly use. You'd also want it to support the major application servers and the most popular web frameworks, including Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails, and Vaadin. Your IDE should be compatible with whatever build and version control systems your development team uses, for example Ant, Maven, or Gradle, along with Git, SVN, CVS, Mercurial, or Bazaar. For extra credit, your IDE should be able to handle the client and database layers of your stack, supporting embedded JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, and the Java Persistence API.

Finally, you would hope that your Java IDE lets you edit, build, debug, and test your systems with ease and grace. Ideally, you'd not only have intelligent code completion, but intelligent refactoring and code metrics. If you're in a shop that does test-driven development, you want support for your testing frameworks and stubbing. If your group uses a ticket system and CI/CD, it's best if your IDE can connect to them. If you need to deploy to and debug on containers and clouds, your IDE should help you do so.

To continue reading this article register now

How to choose a low-code development platform