Apache NetBeans IDE (incubating) 9.0

Apache NetBeans 9.0 is the first release of the Apache NetBeans IDE.

The main goals for this release are

  • IP clearance of the Oracle code donation.

  • Java 9 Support.



This is a list of the proposed features of Apache NetBeans 9.0. The beta release may provide a subset of these.

Supporting JPMS (Jigsaw) to full extent

Adding module-info.java

NetBeans 9 supports JPMS (Jigsaw) to full extent.

Modulepath was added as a crucial paradigm to NetBeans in addition to Classpath.

The standard NetBeans Java SE Project Type (Ant based) can be a single JDK9 module simply by adding a module-info.java file into the default package.

Autocompletion in module-info.java

Of course, we provide full autocompletion for module-info.java

A brand new Java Modular Application project type

Java Modular Application

We have added a new Java Modular project type. This allows to develop several JDK9 modules in one NetBeans project (Ant based).

The advantage of this project type over several Java SE projects (each containing one module) is that dependencies are simply managed by declaring appropriate exports and requires in module-info.java, and all modules in the project will be compiled at once.

Java Shell support

Java Shell Support

Java Shell is a new tool included in JDK9 defined in JEP 222 to introduce REPL (read-eval-print-loop) capabilities to Java.

NetBeans provides integrated console-like UI for the Java Shell, leveraing NetBeans editor capabilites.

NetBeans can support the tool with the user project configuration, so the Java Shell is set up to work with project classes and libraries, providing autocompletion out of the box in the editor.

Shell Agent Configuration

Also NetBeans greatly extends the capabilities of the commandline tool. NetBeans can execute the shell as an agent, similar to a debugging agent, on the debugged or run application (currently only J2SE applications are supported, both Ant and Maven-based).

Saving JShell snippets

Snippets written in JShell can be redefined and tested, even against a running code.

When the prototype is ready, it can be saved to a regular Java source file and integrated with the project.