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 Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
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
Partner Zones AWS Cloud
by AWS Developer Relations
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
Partner Zones
AWS Cloud
by AWS Developer Relations
  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.

Steve Millidge user avatar by
Steve Millidge
·
Aug. 26, 18 · Presentation
Like (2)
Save
Tweet
Share
15.23K 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.

Popular on DZone

  • How Elasticsearch Works
  • Test Execution Tutorial: A Comprehensive Guide With Examples and Best Practices
  • Low-Code Development: The Future of Software Development
  • 5 Steps for Getting Started in Deep Learning

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: