Several files in a runtime image are intended for external uses and their pathname is a committed interface, including:
jrt-fs.jar src.zip lib/javafx-swt.jar lib/ant-javafx.jar The `lib` directory in the runtime image currently defined in JEP 220 is private implementation and for internal use only. In addition to the above files, external launchers depend on the path `lib/$VMTYPE/libjvm.so` (or the equivalent) and tools depend on `lib/jexec`. The proposal is to redefine the purpose of the `lib` directory. The `lib` directory will contain read-only files that are intended for external use and thus are committed interfaces. Therefore we propose to move `jrt-fs.jar` and `src.zip` from the top level into the `lib` directory. We’ll leave `javafx-swt.jar` and `ant-javafx.jar` in the `lib` directory. For the internal files under the `lib` directory, we propose to leave them in the `lib` directory in JDK 9 and be moved out of the `lib` directory in future releases. This change [1] will impact external tools depending on jrt-fs.jar and src.zip. One tentative plan is to make this change in 2 weeks (possibly jdk-9+147) unless any one needs more time. Comments? Mandy [1] https://bugs.openjdk.java.net/browse/JDK-8169816
