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

アプレットまたは Webstart 環境で元の JAR のマニフェスト ファイルにアクセスするにはどうすればよいですか?

DDD
リリース: 2024-11-19 13:45:02
オリジナル
302 人が閲覧しました

How to Access the Manifest File of the Originating JAR in Applet or Webstart Environments?

元の JAR のマニフェスト ファイルの取得

アプリケーションを開始した JAR のマニフェスト ファイルにアクセスするには、getClass( などの従来のメソッド) ).getClassLoader().getResources(...) は、特にアプレットや Webstart アプリケーションなどの環境では十分ではない場合があります。考慮すべき 2 つの代替アプローチを次に示します。

取得した URL の反復処理:

  1. getResources() を使用して、潜在的なマニフェスト ファイルを表す URL のコレクションを取得します。
  2. 必要な URL が見つかるまで、これらの URL を繰り返し処理し、それぞれをマニフェストとして読み取ります。

コード例:

Enumeration<URL> resources = getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
    try {
        URL url = resources.nextElement();
        Manifest manifest = new Manifest(url.openStream());
        // If manifest is null, try using JarInputStream instead: manifest = url.openStream().getManifest();

        // Verify and process the manifest as needed
        ...
    } catch (IOException e) {
        // Handle the exception
    }
}
ログイン後にコピー

ClassLoader タイプの確認と findResource() の使用:

  1. getClass().getClassLoader() が java.net.URLClassLoader のインスタンスかどうかを確認します (通常、Sun クラスローダーの場合)
  2. その場合は、それをキャストし、findResource() を使用してマニフェストを取得します。

コード例:

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

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

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