この章では、JDK 8での新規および変更されたデプロイメント機能の概要について説明します。
次の各項では、その改善点、および導入されたリリースについて説明します。
JDK 7に関する情報は、第34章「JDK 7でのJava Rich Internet Applicationの拡張機能」を参照してください。
8u40リリースには、次の拡張機能が含まれています。
自己完結型アプリケーションにUserJvmOptionsService
APIが提供されています。このAPIを使用して、アプリケーション実行時に使用するJVMオプションを設定するために、アプリケーションに設定機能を追加できます。詳細は、第15章「自己完結型アプリケーションでのJVMオプションのカスタマイズ」を参照してください。
自己完結型アプリケーションのためにファイルの関連付けを登録できます。詳細は、7.3.7項「ファイルと自己完結型アプリケーションの関連付け」および<fx:association>要素を参照してください。
コマンドラインから自己完結型アプリケーションが起動される際に、アプリケーションに引数を渡すことができます。詳細は、7.3.6項「自己完結型アプリケーションへの引数の受渡し」を参照してください。
Antを使用して構築する際に、複数のエントリ・ポイントを持つ自己完結型アプリケーションを作成できます。詳細は、7.3.8項「複数のエントリ・ポイントのサポート」を参照してください。
<fx:deploy>
Antタスクの<fx:bundleArgument>
要素は、OS Xバンドラに対して次の新しい引数をサポートします: mac.CFBundleVersion
およびmac.dmg.simple
。詳細は、「<fx:bundleArgument>」を参照してください。
JDK 8u31リリース以降、Javaコントロール・パネルの詳細オプションからSSLv3プロトコルが削除されています。詳細は、8u31更新リリース・ノートを参照してください。
8u20リリースでのデプロイメント関連の機能拡張は、次のとおりです。
JavaFXパッケージャ・ツールの名前はJavaパッケージャに変更され、javapackager
コマンドを使用して実行されます。自己完結型アプリケーションのサポートは、ネイティブのインストール可能なパッケージの生成に使用されるバンドラに引数を渡すことができるように拡張されました。第7章「自己完結型アプリケーションのパッケージ化」を参照してください。
「中」セキュリティ・レベルは削除されました。サポートされるのは、「高」と「非常に高」のみです。20.4.1項「セキュリティ・レベル」を参照してください。
デプロイメント・ルール・セットを使用する企業の顧客は、action
要素に属性force
が使用できるようになりました。この属性をtrue
に設定すると、ルールに一致するRIAにより要求されたJREのバージョンはオーバーライドされ、ルールで指定されたJREのバージョンでRIAが実行されます。第28章「デプロイメント・ルール・セット」を参照してください。
8u11リリースでのデプロイメント関連の機能拡張は、次のとおりです。
JREのインストールまたは更新時にスポンサからのオファーを抑制するオプションが、Javaコントロール・パネルの「詳細」タブで使用できるようになりました。詳細は、20.5.12項「その他」を参照してください。
RIAの有効なエントリ・ポイントとして1つ以上のクラスを識別するために、Entry-Point属性をJARファイル・マニフェストに含めることができるようになりました。詳細は、26.6項「Entry-Point属性」を参照してください。
8u5リリースでのデプロイメント関連の機能拡張は、次のとおりです。
アプリケーションのセキュリティ・プロンプトが表示される頻度が減少しました。
JDK 8リリースでのデプロイメント関連の機能拡張は、次のとおりです。
サンドボックスRich Internet Application (RIA)の場合、起動元のサーバーに接続しなおすことを許可するために、URLPermission
が使用されるようになりました。URLPermissions
は、コード・ソースのプロトコル、ホストおよびポートに基づいて付与されます。この変更は、次の影響を及ぼします。
サンドボックスRIAの場合、オリジン・ホストのSocketPermissions
は付与されなくなります。JavaScriptコードからRIAへの呼出しにはSocketPermissions
が付与されません。
HTTPプロトコルを使用してサーバーからロードされたサンドボックスRIAは、HTTPSプロトコルを使用してそのサーバーに接続しなおすことが許可されません。
HTTPまたはHTTPSのどちらかのプロトコルを使用して特定のポートでサーバーからロードされたサンドボックスRIAは、そのサーバー上の別のポートに接続しなおすことが許可されません。たとえば、RIAがhttps://www.example.com:80
から起動された場合、そのRIAはhttps://www.example.com:8888
に接続しなおすことが許可されません。
HTTPまたはHTTPSのどちらかのプロトコルおよびドメイン名を使用してサーバーからロードされたサンドボックスRIAは、IPアドレスを使用してそのサーバーに接続しなおすことが許可されません。たとえば、RIAがhttps://www.example.com:8080
から起動された場合、そのRIAはhttps://192.0.2.1:8080
に接続しなおすことが許可されません。
HTTPプロトコルを使用してサーバーからロードされた特権付きRIAは、HTTPSプロトコルを使用したJavaScriptコードからの呼出しを受け入れません。HTTPSを使用してJavaScriptコードからRIAへの呼出しを行うには、HTTPSを使用してそのRIAをロードする必要があります。
すべてのセキュリティ・レベルですべてのRIAのメインJARファイルのJARファイル・マニフェストに、Permissions
属性が必要になりました。Permissions属性については、第26章「セキュリティ用のJARファイル・マニフェストの属性」
を参照してください。
JSR 292、Java以外の言語でのJava仮想マシンのサポートのために、Javaクラス・ファイルの形式が更新されました。その結果として、Java SE 8のクラス・ファイルが効果的に圧縮されるように、Pack200エンジンが適宜更新されています。特に、Pack200エンジンはJSR 292によって導入された定数プール・エントリおよび新しいバイトコードを認識するようになりました。
結果として、このバージョンのpack200で作成された圧縮ファイルは古いバージョンのunpack200との互換性がなくなります。
通常、圧縮されたファイルにJava SE 8またはJava SE 7のクラス・ファイルが含まれている場合、古いアンパック・プログラムとの互換性はなくなります(たとえば、圧縮されたファイルにJava SE 7のクラス・ファイルが含まれている場合、Java SE 6以前のアンパック・プログラムとの互換性はなくなります)。
30.2項「Pack200で圧縮されたJARファイルのデプロイ」およびRFE 6981776を参照してください。
古いJava Plug-in (Java SE 6 Update 10よりも前の利用可能なバージョン)がこのリリースから削除されました。RFE 7076143を参照してください。