Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java EE/Jakarta EE Support for NetBeans 9

DZone 's Guide to

Java EE/Jakarta EE Support for NetBeans 9

Having trouble enabling Java EE and Jakarta EE support for you NetBeans 9 platform? Check out this tutorial to learn how to fix this on your app server.

· Java Zone ·
Free Resource

On July 30, NetBeans finally made the cut and got a major release under the Apache Foundation.

The most frequent question, since beta releases, is:

What about Java EE/C++/PHP?

First, the source code donation to Apache includes only the base NetBeans platform modules plus Java SE support. Please see the Apache Foundation official statement here.

Does This Mean That I Won't Be Able to Develop my Java EE Application on NetBeans 9?

Short answer: No

Long answer: Currently, Oracle already performed a second donation, where most of NetBeans modules considered as external are included. As the Apache statement suggests, these modules are expected on future NetBeans releases.

Is it Possible to Enable Java EE Support in NetBeans 9?

Considering that NetBeans has been modular since . . . ever, support for old modules in the new NetBeans version is possible. As a matter of fact, this is the official approach to enable Java EE support on NetBeans 9 — by using kits.

Hence, this tutorial is focused on enabling Java EE support on MacOS, but the steps should be exactly the same for Linux and Windows. To show some caveats, two app servers were tested with Java 8 and Java 10.

Downloading NetBeans 9.0

First, you should download the NetBeans package from official Apache Mirrors. At this time, distributions are only available as .zip files.

NetBeans 9 Download

After the download, just uncompress the .zip file:

unzip incubating-netbeans-java-9.0-bin.zip


You should find a NetBeans executable at the bin/ directory for Unix:

cd netbeans
bin/netbeans


With this, you should be able to run NetBeans 9. By default, NetBeans will run on the most up-to-date JVM available at the system.

NetBeans 9

Enabling Java EE support

To install Java EE support, the NetBeans 8.2 update center repository should be added to the IDE.

First, go to Tools > Plugins > Settings.

Second, add a new update repository:

http://updates.netbeans.org/netbeans/updates/8.2/uc/final/distribution/catalog.xml.gz

NetBeans 8.2 update center

NetBeans 8.2 update center

Third, search for new plugins with the keyword "Kit." As the name suggests, these are plugin collections for specific purposes.

NetBeans 8.2 update center

From experience, the following plugins are recommended for Java EE:

  • HTML5 Kit
  • JSF
  • SOAP Web Services
  • EJB and EAR
  • RESTful Web Services
  • Java EE Base

Now, restart the IDE, and, then, you're ready to develop apps with Java EE.

Test 1: Wildfly 13

To test the NetBeans setup, I added a new application server and ran a recent Java EE 8 REST-CRUD application from a recent jEspañol presentation.

You have to select the WildFly Application Server

WildFly 13

As WildFly release notes suggest, if you wanna Java EE 8 support, you should choose standalone-ee8.xml as the domain configuration.
WildFly 13

Domain configuration will be detected by NetBeans 9:

WildFly 13

The WildFly team has been working on Java 9 and 10 compatibilities. Hence, the application ran as expected to deliver new records from an in-memory database.

WildFly 13

Test 2: Glassfish 5 and Payara 5 on Java 10 (NetBeans) and Java 8 (App Server Platform)

To test the Vanilla experience, I tried to connect Payara and the Glassfish 5 app server. In the case of WildFly, the configuration is pretty straightforward:

You have to select the Payara Application Server:
Payara 5

The domain 1 default configuration should be fine:
Payara 5

Since Payara and Glassfish only support Java 8 (Java 11 support is on the roadmap), you have to create a new platform with Java 8. Go to Tools -> Java Platforms and click on Add Platform.
Payara 5

Now, select a new Java SE Platform:

Payara 5

Pick the home directory for Java 8:

Payara 5

Finally, go to the server properties and change the Java platform:
Payara 5

At this time, it seems that NetBeans should be running on Java 8. Otherwise, you won't be able to retrieve the server's configuration and logs. There is a similar report on the Eclipse Plugin.

Payara 5

Test 3: Glassfish 5 and Payara 5 on Java 8 (NetBeans) and Java 8 (App Server Platform)

Finally, I configured NetBeans to use JDK 8 as NetBeans JDK. For this, you should edit the etc/netbeans.conf file and point the netbeans_jdkhome variable to JDK 8. Since I'm using jenv to manage JVM environments, the right value is:netbeans_jdkhome="/Users/tuxtor/.jenv/versions/1.8".

With this, NetBeans 9 is able to run Payara 5 and Glassfish 5 as expected.

Payara 5

I'm still not sure about TomEE, OpenLiberty, WebSphere, and WebLogic, but it seems like it would be a matter of hacking a little bit on JDK versions.

Topics:
java ,java ee 8 ,jakarta ee ,netbeans ,tutorial

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}