非推奨: すべてのアプリケーションで使用できるオプション・パッケージをダウンロードしてインストールするためのインストール型オプション・パッケージのマニフェスト属性およびJava Plug-inサポートは非推奨になりました。今後のリリースで削除される可能性があります。
注: オプション・パッケージは、これまで標準拡張機能または単に拡張機能として知られてきたものの新しい名称です。
このセクションでは、次のトピックについて説明します。
Java SE 1.3では、Jarファイルのマニフェスト属性が拡張されており、アプレットに必要なオプション・パッケージのバージョンとベンダー情報を指定できるようになりました。Jarパッケージによるアプレットのマニフェストで指定されたURLで、Java Plug-inは、次の場合に最新バージョンのオプション・パッケージをダウンロードできます
ここでは、バージョンとベンダー情報を指定するときに使用するマニフェスト属性について説明します。
Extension-Name: javax.help Specification-Vendor: Oracle Corporation Specification-Version: 1.0 Implementation-Vendor-Id: com.sun Implementation-Vendor: Oracle, Inc Implementation-Version: 1.0この例に含まれる属性について説明します。
Java実行環境にインストールされた各オプション・パッケージは、これらのマニフェスト属性によって識別されます。Java Plug-inでオプション・パッケージを必要とするアプレットが実行されている場合は、これらの属性に基づいて、インストールされているオプション・パッケージが、アプレットに指定されているベンダーとバージョンの条件を満たしているかどうかが検査されます。アプレットにこれらの情報を指定するには、以降のセクションで説明するマニフェスト属性を使用します。上記のマニフェスト属性すべてを、オプション・パッケージのマニフェストに含める必要があることに留意してください。Plug-inが検索を実行してもオプション・パッケージのマニフェスト内にこれらの属性をいずれも検出できない場合、そのオプション・パッケージはアプレットに適さないとみなされます。
Extension-List: javahelp java3d javahelp-Extension-Name: javax.help javahelp-Specification-Version: 1.0 javahelp-Implementation-Version: 1.0.3 javahelp-Implementation-Vendor-Id: example.com javahelp-Implementation-URL: http://www.example.com/products/stdext/javahelp.jar java3d-Extension-Name: javax.3d java3d-Specification-Version: 1.0 java3d-Implementation-Version: 1.2.1 java3d-Implementation-Vendor-Id: example.com java3d-Implementation-URL: http://www.example.com/products/stdext/java3d.jarこの例に含まれる属性について説明します。
Java Plug-inによってアプレットがロードされたときに、そのマニフェストにいくつかのオプション・パッケージが指定されている場合は、次の属性が検査されます。
アプレットのマニフェストに1つまたは複数のオプション属性が含まれない場合、Plug-inはオプション・パッケージのマニフェスト内の対応する任意の属性値を適用します。
オプション・パッケージをダウンロードするURLは、アプレットのマニフェスト属性<extension>-Implementation-URLに指定するときに、アプレットのコード・ベースである必要はありません。
ダウンロードするファイルは、すべてDSAまたはRSA証明書による署名が必要です。署名されていないオプション・パッケージは、インストールされません。バンドル型オプション・パッケージとみなされ、アプレットのセキュリティ属性が共有されて、アプレットのクラス・ローダーによってロードされます。
Java Plug-inでは、アプレットのマニフェストに指定されているURLからオプション・パッケージを取得するときに、オプション・パッケージの署名が検証されてから、オプション・パッケージのマニフェストのMain-Class属性が検査されます。オプション・パッケージのマニフェスト・ファイルにMain-Class属性が含まれていない場合は、Java Plug-inによって実行環境のオプション・パッケージのディレクトリ(JDKのjre/lib/extおよびJREのlib/ext)にJarファイルが格納されます。
オプション・パッケージのJarファイルには、ネイティブ・コードで、またはJavaプログラミング言語で記述されたアプリケーションとして、独自のインストーラ・プログラムが格納されていることがあります。ネイティブ・ライブラリをインストールしたり、Microsoft Windowsレジストリにアクセスしたりする場合は、独自のインストーラ・プログラムが必要なことがあります。Java Plug-inによってオプション・パッケージのマニフェスト内にMain-Class属性が検出された場合は、Java言語のインストーラとして機能するクラスが指定されているとみなされ、そのクラスのmain()メソッドが呼び出されます。
オプション・パッケージのマニフェストには、Extension-Installation属性が指定されていることもあります。このフィールドの値は、Java Plug-inによってオプション・パッケージがインストールされるときに使用される、ネイティブ・インストール・アプリケーションを指しています。
<extension>-Implementation-URLにより指定されるオプション・パッケージのURLは、JARファイルを指し示す必要があります。Plug-inが、.exeまたは.binファイルとしてパッケージされたオプション・パッケージをダウンロードおよびインストールすることはありません。
オプション・パッケージの中には、オぺレーティング・システムごとに異なるJarファイル内にパッケージされるものもあります。そのような場合、<extension>-Implementation-URL属性が、属性値内で$(os-name)$構造を使用して処理します。次に例を示します。
javaExt-Implementation-URL: http://.../stdext/javaExt-$(os-name)$.jarここで、$(os-name)$はターゲットのオペレーティング・システムの名前で、os.nameシステム・プロパティによって定義されます。