English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 대상 지향적(I)

Java 대상 지향적(II)

Java 대상 지향적(III)

Java 예외 처리

Java 목록(List)

Java Queue(대기열)

Java Map集合

Java Set集合

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 9 다중 버전 호환 JAR 패키지

Java 9 새로운 기능

다중 버전 호환 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

Java 9 새로운 기능