如果目标级别为8,可以使用module-info.java吗?

时间:2019-01-09 17:37:25

标签: java java-9 jigsaw module-info multi-release-jar

我知道jdk9 +可以识别module-info.java

但是我想知道module-info.java是否仍然可以与目标级别8结合使用。

例如我希望我的库在java9 +项目中使用,它将被识别为导出特定软件包的模块,但也要在java8项目中用作纯jar文件。

1 个答案:

答案 0 :(得分:2)

The Multi-Release JAR files的目的完全相同。

  

在不支持MRJAR的 JDK 中, 仅类和资源   在根目录中将可见 ,并且两个包装将是   难以区分。

     

在不支持MRJAR的 JDK 中,目录   对应于任何更高版本的Java平台的版本都会被忽略;它   首先在Java中搜索类和资源    特定于平台的目录,与当前正在运行的目录相对应   Java平台主要发行版本 ,然后搜索较低版本   版本,最后是JAR根

     

在Java 9 JDK上,好像   有一个JAR特定的类路径,其中首先包含版本9   文件,然后是JAR根目录;在Java 8 JDK上,此类路径   仅包含JAR根。

以基于Maven的示例为例,请看一下-maven-jep238