4

Java 1.7プラグインは、指定されたアーカイブファイルのpack.gzをダウンロードしようとすることを要求します。たとえば、次のようなアプレットタグの場合:

<applet codebase="." code="com.whatever.Something" archive="applet/SomethingWhatever.jar" mayscript="true">
<param name="someKindOfSettingA" value="1234">
</applet>

最終的に、HTTPサーバーは次のリクエストを取得します。

applet/SomethingWhatever.jar.pack.gz

pack.gzを提供することでこれを解決できることを理解しており、これは有益です。しかし今のところ、余分なリクエストを抑制したいだけです。アプレットタグなどを介してこれを行う方法はありますか?

私たちはこれを試しました:

<PARAM NAME="java_arguments" VALUE="-Djnlp.packEnabled=false"/>

ここでの手順の明らかなバリエーションに基づいています:http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/tools/pack200.html。しかし、それは何の違いもありませんでした。

4

3 に答える 3

1

これはJREのバグです。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000291を参照してください

よろしくカミル

于 2012-11-22T10:06:04.010 に答える
0

最も論理的な設定は、真のアプレットタグと高速アプレットタグの両方を試すことです。

   <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
      <PARAM NAME  = "cache_archive" VALUE = "HelloWorld.jar"/>
      <PARAM NAME="java_arguments" VALUE="-Djnlp.packEnabled=true"/>
   </APPLET>

   <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
      <PARAM NAME  = "cache_archive" VALUE = "HelloWorld.jar"/>
      <PARAM NAME="java_arguments" VALUE="-Djnlp.packEnabled=false"/>
   </APPLET>

または、結果として何が得られるかを確認して、行を削除しようとすることもできます(保証人ではありませんが、ときどき機能します)

   <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
      <PARAM NAME  = "cache_archive" VALUE = "HelloWorld.jar"/>
   </APPLET>

これらのいずれも機能しない場合は、実際に通話をキャンセルするオプションはありません。jarに移動する前にpack.gzが呼び出されます。同じことを行う新しいクラスを作成せずにこれを回避する方法はありませんが、pack.gzはまったく呼び出されません。

もちろん、あなたが言ったように:

pack.gzを提供することでこれを解決できることを理解しており、これは有益です。

これは、a)簡単で、b)何も傷つけないので、私がすることです。

于 2012-10-15T16:08:07.187 に答える
0

最新バージョンのJREに更新すると、この問題が修正されます。jre 1.7_0_07でアプリケーションを実行しているときに、同じ問題が発生しました。しかし、jre1.7_0_11にアップグレードすると修正されました。

于 2013-02-04T22:45:04.970 に答える