Choosing the IDE to Build Your Jakarta EE Application
Need help deciding on an IDE for building your next Jakarta EE project? Check out this post to learn more about the types of IDEs for application development.
Join the DZone community and get the full member experience.
Join For FreeWhat Is an IDE?
If you're looking to build a Jakarta EE (formerly Java EE) application, you're going to need a few things to get started. Whether you're building a web application with Java Server Faces (JSF), a web service using REST, an Enterprise Java Beans (EJB) application, or interacting with a database using Java Persistence API (JPA), first, you need Payara Server or Payara Micro and an IDE (Integrated Development Environment).
An IDE is where you'll write your code, debug, and even deploy or run your application. An IDE typically has a code editor with syntax highlighting. They also usually have tips and autocomplete. A great feature is that it can highlight errors in real time, so you don't have to compile before finding out you left off a semicolon, nor spend ages searching for it! Most of the time, it can compile your code for you without having to use javac or mvn from the command line. It also handily comes with a debugger too.
What to Look for in an IDE?
As Payara Server and Payara Micro are designed to run EE (Enterprise Edition) applications, you're probably interested in IDEs, which work well with Java EE or Jakarta EE.
I recommend looking for an IDE with the following:
- Syntax highlighting
- Debugger
- Error Highlighting
- Content assist, also known as autocomplete
- Ability to see Javadoc when hovering over a method or class
- EE support (so the above still work when your working with a Servlet, JSP, or Facelet)
- Server connectors so you can deploy your code to the server from the click of a button in your IDE
- Active IDE project (in software development, new versions, frameworks, and APIs are often released, and you need your IDE to be able to support these)
Which EE IDEs Are Available?
The list below is by no means a comprehensive list. These are some of the more popular ones, in my opinion:
- NetBeans
- Eclipse Note: Pick the EE specific distribution!
- IntelliJ IDEA
- Visual Studio Code (VS Code)
NetBeans
The Apache Software Foundation maintains NetBeans. Donated to them by Oracle when they bought Sun Microsystems, NetBeans is what most of the engineering team use at Payara. We find it works well for our needs.
Eclipse
The Eclipse Foundation is the same organization that has taken over Java EE (as Jakarta EE) and also provides the Eclipse IDE. Using Eclipse ensures that it'll work with future EE releases.
Note: There's more than one distribution of Eclipse IDE. You'll need to get the one that's specifically for EE. Don't get the Java SE distribution.
IntelliJ IDEA
IntelliJ is JetBrains' IDE. It's important to note here that the free version doesn't support EE, just Java SE (Standard Edition). The paid version, called Ultimate, works with EE. Ultimate works out of the box with the Payara Server and is set up the same as Glassfish.
Visual Studio Code
Made by Microsoft, you'd be forgiven for thinking this works only with Windows. It works on Linux and a Mac, too. Out of the box, it's just a code editor with syntax highlighting. Everything needs adding as extensions. Java Support is one extension. It works well with Git (a content versioning system). It's also a very active project, which means you get new features frequently. We're also working on an extension to make Payara Server work nicely with VS Code.
IDE Server Integration
Payara has plugins for NetBeans and Eclipse, which means you can deploy and debug to Payara Server from within each of these IDEs. Payara Server also works out of the box with IntelliJ, and we're working on an extension for VS Code.
For the Eclipse Plugin, see the Eclipse Marketplace . You can also read more in Arjan's post on his Payara Tools Plugin here.
For the NetBeans plugin, see the NetBeans Plugin Portal.
All IDE Plugins developed by Payara are entirely free to use!
Which IDE Do you Recommend?
I recommend NetBeans. I find it's great for beginners and pros alike. You don't need to configure it, so you can get up and code straight away. I find it's very stable and rarely crashes.
Published at DZone with permission of Steve Millidge, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments