English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
다중 버전 호환 JAR 기능은 특정 버전의 Java 환경에서 라이브러리 프로그램을 실행할 때 사용할 class 버전을 선택할 수 있게 합니다.
다음과 같이 --release 매개변수가 컴파일 버전을 지정합니다.
특정 변화는 META-INF 디렉토리에 MANIFEST.MF 파일에 새로운 속성이 추가되었습니다:
Multi-Release: true
그런 다음 META-INF 디렉토리에 versions 디렉토리가 추가되었습니다. java를 지원하려면9그렇다면 versions 디렉토리에 있습니다 9 의 디렉토리입니다.
multirelease.jar ├── META-INF │ └── versions │ └── 9 │ └── multirelease │ └── Helper.class ├── multirelease ├── Helper.class └── Main.class
다음 예제에서는, Tester.java 파일을 두 개의 버전의 JAR 패키지로 생성하기 위해 다중 버전 호환 JAR 기능을 사용했습니다. 하나는 jdk입니다 7또 다른 것은 jdk입니다 9그런 다음, 다른 환경에서 실행합니다.
第一步
폴더 c:를 생성하십시오./test/java7/com/w3codebox를 열고 해당 폴더에 Test.java 파일을 생성하십시오. 코드는 다음과 같습니다:
package com.w3codebox; public class Tester { public static void main(String[] args) { System.out.println("Inside java 7"); } }
第二步
폴더 c:를 생성하십시오./test/java9/com/w3codebox를 열고 해당 폴더에 Test.java 파일을 생성하십시오. 코드는 다음과 같습니다:
package com.w3codebox; public class Tester { public static void main(String[] args) { System.out.println("Inside java 9"); } }
소스 코드 컴파일:
C:\test > javac --release 9 java9/com/w3codebox/Tester.java C:\JAVA > javac --release 7 java7/com/w3codebox/Tester.java
다중 버전 호환 jar 패키지 생성
C:\JAVA > jar -c -f test.jar -C java7 . --release 9 -C java9. Warning: entry META-INF/버전들/9/com/w3codebox/Tester.java, 같은 이름의 여러 자원
JDK 사용 7 실행:
C:\JAVA > java -cp test.jar com.w3codebox.Tester Inside Java 7
JDK 사용 9 실행:
C:\JAVA > java -cp test.jar com.w3codebox.Tester Inside Java 9