Java9 - Multirelease JAR

Java9 - Multirelease JAR 首页 / Java入门教程 / Java9 - Multirelease JAR

在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

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

Nginx核心知识150讲 -〔陶辉〕

Vue开发实战 -〔唐金州〕

DDD实战课 -〔欧创新〕

说透5G -〔杨四昌〕

大型Android系统重构实战 -〔黄俊彬〕

深入拆解消息队列47讲 -〔许文强〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)