The JEP says that the module container format is "implementation-specific" and "subject to change without notice". My concern is that this is going to end up screwing over tool maintainers, such as myself. I maintain an opensource tool that scans through core Java classes for instrumentation purposes. It's supposed to be able to target code written for Java 1.4 and above. I can force my users to use Java9 to run the tool, which means that that the tool will be able to read core Java9 classes via the jrt:/ URL solution. But what happens when Java10 comes out? Will my users be able to scan core classes in Java9 if the tool is running on Java10?

So far, it looks like nothing in the JEP covers this. As far as I can tell, the jrt:/ URL solution only reads core classes/resources from the version of Java that the tool is running on.

Are there any plans to work around this issue?

Reply via email to