Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.6.0
-
None
Description
JDK 9 build b148 includes an important Refresh of the module system.
This refresh includes a disruptive change that is important to understand.
For those that have been trying out modules with regular JDK 9 builds then be aware that `requires public` changes to `requires transitive`. In addition, the binary representation of the module declaration (module-info.class) has changed so that you need to recompile any modules that were compiled with previous JDK 9 builds.
To be able to compile the test sources, you must specify the module name (i.e -Xmodule:the.module.name). This information is already available in src/main/java/module-info.java, so no need to ask for it again. Due to the change of the binary representation the original trick wiith ASM-6.0_ALPHA doesn't work anymore.
We're going to add a second parser based on QDox, which doesn't parse the class file but the source file. This way we have to options to extract the module name.