在Java 9中,引入了一项新函数,其中增强了jar格式以具有不同版本的Java类,或者可以根据平台维护和使用资源。在JAR中,文件MANIFEST.MF文件的主要部分具有条目Multi-Release:true。 META-INF目录还包含一个versions子目录,其子目录(对于Java 9从9开始)存储特定于版本的类和资源文件。
步骤1 - 创建一个文件夹c:/test/java7/com/learnfk。创建具有以下内容的Test.java-
package com.learnfk; public class Tester { public static void main(String[] args) { System.out.println("Inside java 7"); } }
步骤2 - 创建一个文件夹c:/test/java9/com/learnfk。创建具有以下内容的Test.java-
package com.learnfk; public class Tester { public static void main(String[] args) { System.out.println("Inside java 9"); } }
编译源代码。
C:\test > javac --release 9 java9/com/learnfk/Tester.java C:\JAVA > javac --release 7 java7/com/learnfk/Tester.java
创建多版本jar
链接:https://www.learnfk.comhttps://www.learnfk.com/java/java9-multirelease-jar.html
来源:LearnFk无涯教程网
C:\JAVA > jar -c -f test.jar -C java7 . --release 9 -C java9. Warning: entry META-INF/versions/9/com/learnfk/Tester.java, multiple resources with same name
与JDK 7一起运行
C:\JAVA > java -cp test.jar com.learnfk.Tester Inside Java 7
使用JDK 9运行
C:\JAVA > java -cp test.jar com.learnfk.Tester Inside Java 9
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)