独自の Jar のマニフェスト ファイルを読む方法
独自の Jar のマニフェスト ファイルを読むことは、構造と依存関係を理解するために不可欠です。コードの。ただし、マニフェスト ファイルへのアクセスは、特にアプレットまたは Web スタートからアプリケーションを実行する場合に困難になることがあります。
この課題を克服するには、主に 2 つのオプションがあります。
1. URL を反復処理する
このメソッドには、Java ランタイムにロードされたすべてのリソースを反復処理し、それらの URL を検査することが含まれます。目標は、META-INF/MANIFEST.MF ファイルを含む URL を特定し、それをマニフェスト オブジェクトとして読み取ることです。次のコード スニペットは、このアプローチを示しています。
Enumeration<URL> resources = getClass().getClassLoader().getResources("META-INF/MANIFEST.MF"); while (resources.hasMoreElements()) { try { Manifest manifest = new Manifest(resources.nextElement().openStream()); // Check if this is your manifest and process it accordingly } catch (IOException e) { // Handle the exception } }
2.ローダーのタイプを確認して findResource() を使用する
getClassloader() が 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()); // Process the manifest } catch (IOException e) { // Handle the exception }
これらのアプローチのいずれかを利用すると、アプレットや Web スタートなどの制限された環境から実行している場合でも、独自の Jar に関連付けられたマニフェスト ファイルを効果的に読み取ることができます。
以上がアプレットまたは Webstart から実行するときに独自の Jar のマニフェスト ファイルを読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。