Java で独自の Jar のマニフェストにアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-12 11:38:02
オリジナル
904 人が閲覧しました

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

独自の Jar のマニフェストを読み取る

独自のクラスに関連付けられたマニフェスト ファイルにアクセスするのは、特に getClass( を使用する場合) が難しい場合があります。 ).getClassLoader().getResource(...)。このメソッドは、アプレットまたは Webstart 環境から呼び出された場合、別の .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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート