ホームページ > Java > &#&チュートリアル > 動的環境で JAR のマニフェスト ファイルにアクセスするにはどうすればよいですか?

動的環境で JAR のマニフェスト ファイルにアクセスするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-13 13:47:02
オリジナル
713 人が閲覧しました

How to Access the Manifest File of a JAR in Dynamic Environments?

動的環境での JAR のマニフェスト ファイルへのアクセス

アプリケーションが動的環境から起動されると、JAR のマニフェスト ファイルの取得が困難になりますアプレットやウェブスタートなど。 getClass().getClassLoader().getResources(...) を使用する標準的なアプローチは、ターゲット クラスをホストする JAR ではなく、ランタイムにロードされた最初の JAR からマニフェストを返します。

これを解決するには、2 つのメソッドを使用します。探索できます:

1.リソース URL の反復:

getResources() によって返された URL を反復し、目的のものが見つかるまでそれぞれをマニフェストとして読み取ります。

Enumeration<URL> resources = getClass().getClassLoader()
    .getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
    try {
        Manifest manifest = new Manifest(resources.nextElement().openStream());
        // Check if it's the target manifest and perform necessary actions.
    } catch (IOException E) {
        // Handle exception.
    }
}
ログイン後にコピー

2. findResource メソッドを使用します:

クラス ローダーが java.net.URLClassLoader のインスタンス (AppletClassLoader など) の場合は、それをキャストし、アプレットのマニフェストを返すことが知られている findResource() を直接呼び出します。 .

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
    URL url = cl.findResource("META-INF/MANIFEST.MF");
    Manifest manifest = new Manifest(url.openStream());
    // Use the manifest.
} catch (IOException E) {
    // Handle exception.
}
ログイン後にコピー

以上が動的環境で JAR のマニフェスト ファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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