【JAVA9】多jdk版本JAR包

 

        从java9开始可以通过jar 命令可以让一个jar包包含多个jdk版本的源码。在其MANIFEST.MF文件中需要包含下面这个配置。

Multi-Release: true

        一个普通的jar包目录如下:

132641_Cscf_615618.png

        一个包含了<jdk9版本和jdk9编译的jar包如下:

132726_XhjO_615618.png

        一个包含了<jdk9版本和jdk9以及jdk10编译的jar包如下:

132924_D4LK_615618.png

        它需要先将通过低于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值