Java9 Support » History » Version 13
Henning Blohm, 24.02.2018 15:49
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 | 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_. |
20 | 6 | Henning Blohm | |
21 | 12 | Henning Blohm | The module system has migration tools, such as the unnamed module (of the classloader) and automatic modules. |
22 | 1 | Henning Blohm | |
23 | 12 | Henning Blohm | From a Z2 perspective it is almost a binary decision to either: |
24 | |||
25 | 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 |
||
26 | b) go for completely automatic modules by default. |
||
27 | 13 | Henning Blohm | c) Ignore the Java 9 module layer and stay with unnamed modules and the existing class loader separation |
28 | 1 | Henning Blohm | |
29 | 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) |
30 | 12 | Henning Blohm | |
31 | 9 | Henning Blohm | |
32 | References |
||
33 | |||
34 | * "State of the module system (easy and comprehensive read)":http://openjdk.java.net/projects/jigsaw/spec/sotms/ |
||
35 | * "Project Jigsaw":http://openjdk.java.net/projects/jigsaw/ |
||
36 | * "Jigsaw delivered":https://mreinhold.org/blog/jigsaw-complete |