DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

How are you handling the data revolution? We want your take on what's real, what's hype, and what's next in the world of data engineering.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

SBOMs are essential to circumventing software supply chain attacks, and they provide visibility into various software components.

Related

  • Build a Java Backend That Connects With Salesforce
  • The Best Node.js IDEs in the Market Right Now
  • Remote Pair Programming with IntelliJ, Eclipse and VS Code
  • Setting Up a Local Development Environment With IntelliJ, DevContainers, and Amazon Linux 2023

Trending

  • Rust: The Must-Adopt Language for Modern Software Development
  • Designing Microservices Architecture With a Custom Spring Boot Starter and Auto-Configuration Framework
  • How We Broke the Monolith (and Kept Our Sanity): Lessons From Moving to Microservices
  • Jakarta EE 11 and the Road Ahead With Jakarta EE 12
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Choosing the IDE to Build Your Jakarta EE Application

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.

By 
Steve Millidge user avatar
Steve Millidge
·
Aug. 26, 18 · Presentation
Likes (2)
Comment
Save
Tweet
Share
17.7K Views

Join the DZone community and get the full member experience.

Join For Free

What 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. 

Integrated development environment application intellij Payara Server Build (game engine) Eclipse Java (programming language) Visual Studio Code

Published at DZone with permission of Steve Millidge, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Build a Java Backend That Connects With Salesforce
  • The Best Node.js IDEs in the Market Right Now
  • Remote Pair Programming with IntelliJ, Eclipse and VS Code
  • Setting Up a Local Development Environment With IntelliJ, DevContainers, and Amazon Linux 2023

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: