Mar*_* An 5 java java-platform-module-system java-9 module-info multi-release-jar
我知道module_info.java被jdk9 +识别
我不知道module-info.java是否仍然可以与目标等级8结合使用.
例如,我希望我的库在java9 +项目中使用,它将把它识别为导出特定包的模块,但也可以在java8项目中用作普通的jar文件.
多版本 JAR 文件本身就具有完全相同的目的。
在不支持MRJAR的JDK中,只有根目录中的类和资源是可见的,并且这两个包将无法区分。
在支持 MRJAR 的 JDK中,与任何更高版本的 Java 平台版本相对应的目录将被忽略。它将首先在与当前运行的主要 Java 平台发行版本相对应的Java 平台特定目录中搜索类和资源 ,然后搜索较低版本的类和资源,最后搜索 JAR 根目录。
在 Java 9 JDK 上,就好像存在一个特定于 JAR 的类路径,首先包含版本 9 文件,然后包含 JAR 根;在 Java 8 JDK 上,此类路径将仅包含 JAR 根。
有关基于 Maven 的示例,请查看此 - maven-jep238。