我正在阅读有关新Java 9模块系统的文档.
第3段兼容性和迁移解释了如何将代码从Java 8迁移到Java 9,但没有说明如何"迁移"或运行用Java 9编写的应用程序到Java 9运行时之前.
所以,如果我有,比如一个以模块化方式编写的JAR应用程序(每个模块都有一个模块描述符),如果我将它部署在一起,即JDK 8运行时会发生什么?
如果您的类文件是使用--release 8flag 编译的,那么它们应该在Java 8上正常运行module-info.class.较旧的JVM将忽略这些文件.
如果您的Java 8项目是基于maven的,您可以轻松地将其配置为包括module-info.java:https://maven.apache.org/plugins/maven-compiler-plugin/examples/module-info.html
另外,看看JEP 238(多发行版JAR文件).这使您可以在不破坏与Java 8的兼容性的情况下获得Java 9功能的更多优势.