Java9 Support » History » Version 14
Henning Blohm, 18.04.2018 21:54
| 1 | 10 | Henning Blohm | h2. Java 9 Support (#1991) |
|---|---|---|---|
| 2 | 2 | Henning Blohm | |
| 3 | 5 | Henning Blohm | h2. Supporting the Java 9 Language |
| 4 | |||
| 5 | We integrate ECJ version 4.7.2 from the download link below. Java 9 is fully supported since 4.7.1a ("New and Noteworthy 4.7.1a":https://www.eclipse.org/eclipse/news/4.7.1a/) |
||
| 6 | |||
| 7 | * "JDT Core 4.7.2":http://download.eclipse.org/eclipse/downloads/drops4/R-4.7.2-201711300510/#JDTCORE |
||
| 8 | * "New and Noteworthy 4.7.1a":https://www.eclipse.org/eclipse/news/4.7.1a/ |
||
| 9 | * "JDT Core Git":https://git.eclipse.org/c/gerrit/jdt/eclipse.jdt.core.git/ |
||
| 10 | * "JDT Core main":https://www.eclipse.org/jdt/core/dev.php |
||
| 11 | * "Oxygen help":http://help.eclipse.org/oxygen/index.jsp |
||
| 12 | |||
| 13 | We support a new LangLevel.JAVA9 and derive all compiler settings accordingly. |
||
| 14 | 1 | Henning Blohm | |
| 15 | 11 | Henning Blohm | Unfortunately using Java 9 actually requires an updated Jetty version ([[Jetty9_4_support]]). |
| 16 | |||
| 17 | 1 | Henning Blohm | h2. Supporting the Module System |
| 18 | 6 | Henning Blohm | |
| 19 | 14 | Henning Blohm | Note: There will be no particular support for Java 9 modules in v2.6 |
| 20 | |||
| 21 | 12 | Henning Blohm | The Java 9 module system provides for module level package exports and cross-module dependencies. As such it does not contradict the class loading delegation model but rather adds that dimension to the module system as _Layers_. |
| 22 | 6 | Henning Blohm | |
| 23 | 12 | Henning Blohm | The module system has migration tools, such as the unnamed module (of the classloader) and automatic modules. |
| 24 | 1 | Henning Blohm | |
| 25 | 12 | Henning Blohm | From a Z2 perspective it is almost a binary decision to either: |
| 26 | |||
| 27 | a) Automatically / semi-automatically modularize all Z2 modules by typically generated module-info data and declarations that support to add legacy modules are automatic modules, or |
||
| 28 | b) go for completely automatic modules by default. |
||
| 29 | 13 | Henning Blohm | c) Ignore the Java 9 module layer and stay with unnamed modules and the existing class loader separation |
| 30 | 1 | Henning Blohm | |
| 31 | 13 | Henning Blohm | As the module system adds very little value to a Z2 modularized environment and it is currently not clear how forceful other frameworks will adapt module-info data, a first release may opt for c) |
| 32 | 12 | Henning Blohm | |
| 33 | 9 | Henning Blohm | |
| 34 | References |
||
| 35 | |||
| 36 | * "State of the module system (easy and comprehensive read)":http://openjdk.java.net/projects/jigsaw/spec/sotms/ |
||
| 37 | * "Project Jigsaw":http://openjdk.java.net/projects/jigsaw/ |
||
| 38 | * "Jigsaw delivered":https://mreinhold.org/blog/jigsaw-complete |
