Rich Internet Application の開発および配備 > Rich Internet Application 配備アドバイス > Pack200 および Version Download
目次
関連リンク
JavaTM SE 6 update 10 リリースより前は、Pack200 を使用したり、アプリケーション JAR の特定のバージョンをダウンロードしたりするために、技術者は Web サーバーに JNLPDownloadServlet を配備する必要がありました。このソリューションは機能しますが、バージョン化された JAR や Pack200 で圧縮された JAR を配備する場合の柔軟性が制限されます。技術者には、Web サーバーに JNLPDownloadServlet を配備するためのアクセス権がない可能性もあります。
Java SE 6 update 10 リリースでは、Pack200 と Version Download を有効にするための、- jnlp.packEnabled
と jnlp.versionEnabled
という 2 つの新しい Java システムプロパティーが導入されました。
Java システムプロパティー jnlp.packEnabled
が jnlp ファイルまたは APPLET タグで「true」に設定されている場合、Java Plug-in または Java Web Start ソフトウェアは JAR の .pack.gz バージョンをダウンロードします。.pack.gz バージョンが使用できない場合は、解凍された JAR が検索されます。
注: foo.jar の圧縮されたバージョンには、foo.jar.pack.gz という名前を付けるようにしてください。
resources タグ内で「jnlp.packEnabled」を「true」に指定するには、property タグを使用します。つまり、次のようにします。
<jnlp ...> ... <resources> <property name="jnlp.packEnabled" value="true"/> <java version="1.5+" href="http://javadl.sun.com/webapps/jawsautodl/AutoDL/j2se"/> <jar href="foo.jar" main="true" download="eager"/> </resources> ... </jnlp>
上のケースでは、Java Web Start および新しい Java Plug-in は最初に foo.jar.pack.gz を探します。このファイルが見つからない場合は、フォールバックして、元の foo.jar を探します。
「java_arguments」を使用して「-Djnlp.packEnabled」VM 引数を渡します。つまり、次のようにします。
<HTML> ... <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> <PARAM NAME = "cache_archive" VALUE = "HelloWorld.jar"/> <PARAM NAME="java_arguments" VALUE="-Djnlp.packEnabled=true"/> </APPLET> ... </HTML>
この機能は、Java VM に VM 引数を渡すことが必要なため、新しい Java Plug-in でのみ使用できます。新しい Java Plug-in は HelloWorld.jar.pack.gz を探し、このファイルが使用できない場合は、フォールバックして HelloWorld.jar を探します。
Version Download は、アプレットおよび Java Web Start アプリケーションで特定の jar ファイルの特定のバージョンが使用されることを要求する機能です。jnlp.versionEnabled
は、JNLP を使用して配備される Java Web Start アプリケーションおよびアプレットに適用されます。
Java システムプロパティー jnlp.versionEnabled
が jnlp ファイルで「true」に設定されているときに JAR バージョンが指定された場合は、次の命名規則を使用して、サーバーにバージョン化された JAR ファイルがないかどうかチェックされます。
<file> ::= <name> "__" <options> ".jar" <options> ::= "V" <version-id>
注:foo.jar のバージョン 1.0 には、foo__V1.0.jar という名前を付けるようにしてください。
バージョン化された jar ファイルが見つからない場合は、元の jar が使用されます。