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

Java 9에서 다중 릴리스 jar(mrjar)이란 무엇입니까?


다중 릴리스 항아리 (mrjar라고도 함) ) 여러 Jdk 에 대한 동일한 릴리스의 라이브러리를 포함합니다. 버전 . 라이브러리를 mrjar 로 가질 수 있음을 의미합니다. Jdk 9에서 작동합니다. mrjar 의 코드 클래스 포함 파일 Jdk 9로 컴파일됨 . Jdk 9로 컴파일된 클래스는 Jdk 9에서 제공하는 API를 활용할 수 있습니다.

mrjar jar의 이미 존재하는 디렉토리 구조를 확장할 수 있습니다. 루트 디렉토리가 포함되어 있습니다. 모든 콘텐츠가 있는 위치 및 META-INF 디렉토리 메타데이터 를 저장하는 데 사용 항아리에 대해. 일반적으로 항아리에는 META-INF/MANIFEST.MF가 들어 있습니다. 속성이 포함된 파일입니다.

아래와 같은 항아리의 항목:

- jar-root
- C1.class
- C2.class
- C3.class
- C4.class
- META-INF
- MANIFEST.MF

위 템플릿에서 jar에는 4개의 클래스 파일과 MANIFEST.MF 파일. mrjar는 META-INF 디렉토리를 확장하여 Jdk 버전에 고유할 수 있는 클래스를 저장합니다. META-INF 디렉토리에 버전이 있습니다. 많은 하위 디렉터리를 포함하는 하위 디렉터리로, 각각의 이름은 Jdk 주 버전과 동일합니다. 예를 들어 Jdk 9에 특정한 클래스에는 META-INF/versions/9 디렉토리가 있습니다. . Jdk 10과 관련된 클래스의 경우 META-INF/versions/10이 있습니다. .

- jar-root
 - C1.class
 - C2.class
 - C3.class
 - C4.class
- META-INF
 - MANIFEST.MF
 - versions
 - 9
  - C2.class
  - C5.class
 - 10
  - C1.class
  - C2.class
  - C6.class