MANIFEST.MF 파일 자세히 알 아 보기

자바 의 JAR 파일 을 열 면 파일 에 META-INF 디 렉 터 리 가 포함 되 어 있 는 것 을 자주 볼 수 있 습 니 다.이 디 렉 터 리 아래 에 파일 이 있 습 니 다.그 중에서 MANIFEST.MF 가 있어 야 합 니 다.이 파일 은 이 Jar 파일 의 많은 정 보 를 묘사 하고 있 습 니 다.다음은 MANIFEST.MF 파일 의 내용 을 상세 하 게 소개 하 겠 습 니 다.먼저 struts.jar 에 포 함 된 MANIFEST.MF 파일 내용 을 살 펴 보 겠 습 니 다.
Manifest-Version: 1.0
  Created-By: Apache Ant 1.5.1
  Extension-Name: Struts Framework
  Specification-Title: Struts Framework
  Specification-Vendor: Apache Software Foundation
  Specification-Version: 1.1
  Implementation-Title: Struts Framework
  Implementation-Vendor: Apache Software Foundation
  Implementation-Vendor-Id: org.apache
  Implementation-Version: 1.1
  Class-Path: commons-beanutils.jar commons-collections.jar 
commons-digester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar 
struts-legacy.jar



 만약 에 저희 가 MANIFEST 의 설정 정 보 를 분류 하면 다음 과 같은 몇 가지 유형 을 요약 할 수 있 습 니 다.
일반 속성
  1. Manifest-Version
manifest 파일 의 버 전 을 정의 합 니 다.예 를 들 어 Manifest-Version:1.0
  2. Created-By
이 파일 의 생 성 자 를 설명 합 니 다.일반적으로 이 속성 은 jar 명령 행 도구 로 생 성 됩 니 다.예 를 들 어 Created-by:Apache Ant 1.5.1
  3. Signature-Version
jar 파일 의 서명 버 전 정의
  4. Class-Path
응용 프로그램 이나 클래스 로 더 는 이 값 을 사용 하여 내부 클래스 검색 경 로 를 구축 합 니 다.
2.응용 프로그램 관련 속성
  1. Main-Class
jar 파일 의 입구 클래스 를 정의 합 니 다.이 클래스 는 실행 가능 한 클래스 여야 합 니 다.이 속성 이 정의 되면 자바-jar x.jar 를 통 해 이 jar 파일 을 실행 할 수 있 습 니 다.
3.애플 릿 관련 속성
  1. Extendsion-List
이 속성 은 애플 릿 에 필요 한 확장 정보 목록 을 지정 합 니 다.목록 의 모든 이름 은 다음 과 같은 속성 에 대응 합 니 다.
  2. -Extension-Name
  3. -Specification-Version
  4. -Implementation-Version
  5. -Implementation-Vendor-Id
  5. -Implementation-URL
4.확장 표지 속성
  1. Extension-Name
이 속성 은 확장-name:Struts Framework 와 같은 jar 파일 의 표 지 를 정의 합 니 다.
5.가방 확장 속성
1.Implementation-Title 은 확장 이 실 현 된 제목 을 정의 합 니 다.
2.Implementation-Version 정의 확장 이 실 현 된 버 전
3.Implementation-Vendor 확장 이 실 현 된 조직 정의
4.Implementation-Vendor-id 확장 이 실 현 된 조직의 표 지 를 정의 합 니 다.
5.Implementation-URL:이 확장 패키지 의 다운로드 주소(URL)를 정의 합 니 다.
6.Specification-Title 확장 규범 의 제목 정의
7.Specification-Version 확장 규범 을 정의 하 는 버 전
8.Specification-Vendor 는 이 규범 을 지 키 는 조직 을 성명 했다.
9.Sealed 는 jar 파일 의 봉인 여 부 를 정의 합 니 다.값 은 true 나 false 일 수 있 습 니 다.
6.서명 관련 속성
서명 속성 은 자바 메 일이 제공 하 는 mail.jar 의 한 단락 을 참조 할 수 있 습 니 다.
  Name: javax/mail/Address.class
  Digest-Algorithms: SHA MD5
  SHA-Digest: AjR7RqnN//cdYGouxbd06mSVfI4=
  MD5-Digest: ZnTIQ2aQAtSNIOWXI1pQpw==
이 내용 은 클래스 서명 의 클래스 이름,요약 을 계산 하 는 알고리즘 이름과 해당 하 는 요약 내용 을 정의 합 니 다(BASE 64 방법 으로 인 코딩)
7.사용자 정의 속성
앞에서 언급 한 일부 속성 을 제외 하고 MANIFEST.MF 에 자신의 속성 과 응답 값 을 추가 할 수 있 습 니 다.예 를 들 어 J2ME 프로그램 jar 패키지 에는 다음 과 같은 정보 가 포함 되 어 있 을 수 있 습 니 다.
 
MicroEdition-Configuration: CLDC-1.0
  MIDlet-Name: J2ME_MOBBER Midlet Suite
  MIDlet-Info-URL: http://www.javayou.com/

  MIDlet-Icon: /icon.png
  MIDlet-Vendor: Midlet Suite Vendor
  MIDlet-1: mobber,/icon.png,mobber
  MIDlet-Version: 1.0.0
  MicroEdition-Profile: MIDP-1.0
  MIDlet-Description: Communicator


 

관건 은 우리 가 어떻게 이런 정 보 를 읽 느 냐 하 는 것 이다.사실 간단 합 니 다.JDK 는 이러한 정 보 를 처리 하 는 API 를 제공 해 주 었 습 니 다.자세 한 정 보 는 자바 util.jar 패키지 에서 Jar File 에 jar 파일 을 전달 하 는 경 로 를 통 해 Jar File 의 getManifest 방법 으로 Manifest 정 보 를 얻 을 수 있 습 니 다.
JAR 파일 의 규범 에 대해 더 자세히 알 아 보 세 요.
  http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html
중국어 설명
   http://www-900.ibm.com/developerWorks/cn/java/j-jar/

좋은 웹페이지 즐겨찾기