Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 다중 버전 호환 jar의 용도는 무엇입니까?


다중 버전 호환 JAR 함수를 사용하면 특정 버전의 Java 환경에서 라이브러리 프로그램을 실행할 때만 사용하도록 선택한 클래스 버전을 만들 수 있습니다. "--release를 통해 컴파일된 버전을 지정할 수 있습니다. " 매개변수.

특정 변경 사항은 "MANIFEST.MF "META-INF의 " 파일 " 디렉토리에는 아래와 같은 새 속성이 있습니다.

Multi-Release: true

"META-INF 아래에 새 버전 디렉토리가 있습니다. " 디렉토리. Java 9 버전을 지원하려면 버전 디렉토리 아래에 9 디렉토리가 있습니다.

multirelease.jar
├── META-INF
│   └── versions
│       └── 9
│           └── multirelease
│               └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class


아래 예에서는 다중 버전 호환 JAR을 사용할 수 있습니다. "Test.java에서 두 가지 버전의 jar 패키지를 생성하는 함수 " 파일입니다. 하나의 버전은 jdk 입니다. 7이고 다른 버전은 jdk 9입니다. , 다른 환경에서 실행합니다.

첫 번째 단계: C:/test/java7/com/tutorialspoint 폴더 만들기 , "Test.java " 파일은 아래와 같이 이 폴더에 있습니다:

package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 7");
   }
}

두 번째 단계: C:/test/java9/com/tutorialspoint 폴더 만들기 , "Test.java " 파일은 아래와 같이 이 폴더에 있습니다:

package com.tutorialspoint;

public class Test {
   public static void main(String args[]) {
      System.out.println("Inside Java 9");
   }
}


코드를 아래와 같이 컴파일할 수 있습니다.

C:\test> javac --release 9 java9/com/tutorialspoint/Test.java
C:\test> javac --release 7 java7/com/tutorialspoint/Test.java


다중 버전 호환 jar 패키지를 만들 수 있습니다. 아래와 같이

C:\JAVA> jar -c -f test.jar -C java7 . --release 9 -C java9
Warning: entry META-INF/versions/9/com/tutorialspoint/Test.java, multiple resources with same name


JDK 7을 사용하여 실행:

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 7


JDK 9를 사용하여 다음을 실행합니다.

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 9