> Java > java지도 시간 > Java에서 자신의 Jar 매니페스트에 액세스하는 방법은 무엇입니까?

Java에서 자신의 Jar 매니페스트에 액세스하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-12 11:38:02
원래의
978명이 탐색했습니다.

How to Access the Manifest of Your Own Jar in Java?

자신의 Jar의 매니페스트 읽기

자신의 클래스와 연결된 Manifest 파일에 액세스하는 것은 어려울 수 있으며, 특히 getClass( ).getClassLoader().getResource(...). 이 메서드는 애플릿이나 웹스타트 환경에서 호출되는 경우 다른 .jar 파일의 매니페스트를 반환할 수 있습니다.

이 제한을 극복하려면 다음 해결 방법을 고려하세요.

1. 매니페스트 URL 반복

getResource(...)에서 반환된 URL을 반복하고 올바른 URL을 찾을 때까지 매니페스트로 읽습니다.

Enumeration<URL> resources = getClass().getClassLoader()
   .getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
     try {
       Manifest manifest = new Manifest(resources.nextElement().openStream());
       // check that this is your manifest and do what you need or get the next one
       ...
     } catch (IOException E) {
       // handle
     }
}
로그인 후 복사

2 . URLClassLoader 사용

getClass().getClassLoader()가 java.net.URLClassLoader의 인스턴스인 경우 이를 캐스팅하고 findResource(...)를 사용할 수 있습니다.

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
   URL url = cl.findResource("META-INF/MANIFEST.MF");
   Manifest manifest = new Manifest(url.openStream());
   // do stuff with it
   ...
} catch (IOException E) {
   // handle
}
로그인 후 복사

이 접근 방식은 애플릿에 대한 올바른 매니페스트를 반환하는 것으로 알려져 있습니다.

위 내용은 Java에서 자신의 Jar 매니페스트에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿