Eclipse Java 9 Support (BETA) for Mars
The Eclipse team is happy to announce early access support for JavaSE 1.9 and JDK 9. With this feature patch, developers will be able to start using the JavaSE-1.9 execution environment and Java 9 in their projects.
Getting the Update
The feature patch can be installed from the Eclipse Marketplace with the following steps:
- Make sure the Marketplace client is installed (this is the case if you use an EPP)
- Select "Help > Eclipse Marketplace..."
- Enter "Java 9 support" in the search box and click on "Go"
- Install Eclipse Java 9 Support (BETA) for Mars
The update can also be installed from the following p2 repository:
Using the Batch Compiler
In order to use the batch compiler only, you can follow the steps described at the link Using the batch compiler. Make sure to use newer version of the 'org.eclipse.jdt.core' JAR.
With this update, Java projects and plug-in projects can have JavaSE-1.9 as their execution environment and can be built with JDK 9. All the JDT features, including editor and search, work with JavaSE-1.9 now.
Note: The Eclipse IDE and the batch compiler must be run with JRE 9 to be able to use JavaSE-1.9 and JDK 9.
For more information on our early Java 9 work, see the Eclipse wiki page on that topic - https://wiki.eclipse.org/Java9.
More about JDK 9 - The Modular JDK (jigsaw)
In JDK 9, the entire JDK source base, including the run-time, is being modularized. The feature that is most interesting to us is a totally restructured JDK run-time images. The new run-time images do away with the legacy JAR format replacing it with a new proprietary format. The Eclipse Java 9 support (BETA) updates JDT so that it can make use of the jrt-fs, a file system provider bundled within the Java run-time, to load the Java run-time classes from the jimages.
More information about Modular JDK and the Modular Run-Time Images are available here:
Disclaimer: This is an implementation of an early-draft specification developed under the Java Community Process (JCP) and is made available for testing and evaluation purposes only. The code is not compatible with any specification of the JCP.