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 and 10 Support.
Supporting Local Variable Type Inference
New hints, error handlers, and refactorings for transforming to/from the new JDK 10 “var” type:
- New Hint to convert explicit variable type to ‘var’.
- New Hint to Convert var type back to explicit type.
- New Error hint to split compound ‘var’ declaration.
Var is not supported in a compound variable declaration. This fix helps correct compilation error by splitting declaration into separate statements.
- New Error Hint for var Array declaration.
Var type is not supported for array initializer. This hint helps correct compilation errors by converting to explicit type by inferring the type of data in an array. This currently handles arrays of primitive or homogeneous types.
Supporting the Jigsaw Module System
NetBeans 9 supports JPMS (Jigsaw).
Modulepath was added as a paradigm to NetBeans in addition to Classpath.
The standard NetBeans Java SE Project Type (Ant-based) can be a single JDK 9 module simply by adding a
module-info.java file into the default package.
A brand new Java Modular Application project type
We have added a new Java Modular project type. This allows developing 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 and
module-info.java and all modules in the project will be compiled at once.
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, leveraging NetBeans editor capabilities.
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.