Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Apache Releases NetBeans 10.0 Featuring Enhanced Support for JDK 11

Apache Releases NetBeans 10.0 Featuring Enhanced Support for JDK 11

This item in japanese

The Apache Software Foundation recently released NetBeans 10.0 (incubating) featuring enhanced support for JDK 11, adding support for JUnit 5, and the reintegration of the PHP, JavaScript, and Groovy modules.

Written in Java and originally designed for the Java community, NetBeans is a cross-platform, polyglot IDE that includes language support for HTML5, PHP, and C/C++. Originally known as Xelfi for Java IDE, NetBeans was created by a group of math and physics students at Charles University in the Czech Republic in 1996. NetBeans ultimately became the flagship IDE for Sun Microsystems and open-sourced in June 2000.

A year after Oracle initially proposed donating NetBeans to Apache, the first of multiple code donations was made in September 2017 into Apache's incubation process. NetBeans 10 is part of Oracle's second code donation.

The NetBeans transition process involves the reintegration of clusters from the donated Oracle code into Apache. This reintegration of code is necessary for licensing concerns and involves perusing through all of the source code to ensure it can be legally released by Apache. For example, the platform, ide, and java clusters were reintegrated in NetBeans 9.0, considered the initial Apache release of NetBeans, and included support for Java 9 and 10.

More details on all the new features can be found in the NetBeans new and noteworthy page.

NetBeans can be downloaded and built from the source repository on GitHub.

JDK 11

Enhanced support for JDK 11 includes:

  • Update the nb-javadoc module for JDK 11.
  • Removal of the Java EE and CORBA modules as per JEP-320.
  • Deprecation of the Nashorn JavaScript Engine as per JEP-335.
  • var support for implicitly-typed lambda expressions as per JEP-323.

JUnit 5

NetBeans added support for JUnit 5, but due to the differences between JUnit 4 and JUnit 5, setup is different with projects built with Apache Maven and Apache Ant. By default, NetBeans 10 uses JUnit 5 when generating new tests on projects built with Maven. The IDE generates the new tests and the JUnit 5 dependencies are added in the pom.xml file. Ant provides JUnit Launcher, an Ant task to help facilitate invoking tests in JUnit 5.

An alternative is to use Console Launcher, a Java command-line application offered by JUnit, for both Maven and Ant projects. An executable Jar file, invoked as shown in the example below, includes a variety of configurable options:

java -jar junit-platform-console-{ version }.jar --scan-class-path --class-path target/classes

J. Steven Perry, independent software developer, owner and principal consultant at Makoto Consulting Group, published a four-and-a-half minute video on how to use Console Launcher.

2019 Roadmap

Apache has committed to two releases in 2019 as per their roadmap. NetBeans 11 is scheduled to be released in March with support for JDK 12 and the reintegration of the Java EE/Jakarta EE cluster. NetBeans 12 is scheduled to be released in September with support for JDK 13 and reintegration of the C/C++ cluster. The C/C++ code is currently in the process of being donated from Oracle.


Rate this Article