概述
2019独角兽企业重金招聘Python工程师标准>>>
从java9开始可以通过jar 命令可以让一个jar包包含多个jdk版本的源码。在其MANIFEST.MF文件中需要包含下面这个配置。
Multi-Release: true
一个普通的jar包目录如下:
一个包含了<jdk9版本和jdk9编译的jar包如下:
一个包含了<jdk9版本和jdk9以及jdk10编译的jar包如下:
它需要先将通过低于jdk9版本的编译的class文件打包成jar包,然后再将jdk9、jdk10编译后文件放入到之前编译的jar包中。
对于低于jdk9的应用,它会默认使用root下面的class,而对于jdk9、jdk10等等会用META-INF下对应版本的class。
通过下面的代码可以在不同版本的jdk下取到不同路径的文件
URL r = loader.getResource("foo/baz/resource.txt");
具体打包方式参考:https://stackoverflow.com/questions/45500592/how-to-create-multi-release-jar-and-filtering-input-content
http://docs.oracle.com/javase/9/tools/jar.htm#JSWOR614
参考文献:http://openjdk.java.net/jeps/238
转载于:https://my.oschina.net/u/615618/blog/1541788
最后
以上就是舒服香菇为你收集整理的【JAVA9】多jdk版本JAR包的全部内容,希望文章能够帮你解决【JAVA9】多jdk版本JAR包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复