そして、読書に時間を割くすべての人に感謝します。
WebStartSwing1.4.2_12アプリケーションをJavaWebStart1.6.0_29で起動するように作成するのに苦労しています。
シナリオは次のとおりです。
- すべてのトラフィックはHTTPS経由で行われます
- ユーザーは、アプリケーションを起動するためにWebページ上のリンクをクリックします:サーブレットで生成されたjnlpファイル
- Java WebStartクライアント(1.6.0_29)が起動し、アプリケーションを一気にロードします
- jnlp記述子でj2seバージョンが1.4.2_12に設定されているため、アプリケーションの起動にはjava webstart 1.4.2_12が使用されます(1.6.0_29によってロードされます)。
- Java webstart 1.4.2_12が起動に失敗し、ゴースト「javaws2」ファイルが見つからないと主張する
次のメッセージが報告されます。
CouldNotLoadArgumentException[ Could not load specified file/URL : C:\DOCUME~1\BENOIT~1.VAT\LOCALS~1\Temp\javaws2]
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
完全なスタックトレースは次のとおりです。
java.io.FileNotFoundException: C:\DOCUME~1\BENOIT~1.VAT\LOCALS~1\Temp\javaws2 (File not found)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- HTTPSが無効になっている場合も、同じエラーが発生します。
次の両方のHTTPヘッダーは、JNLPサーブレットによってクライアントに送信されます
。Cache-Control:empty
プラグマ:empty
これらのヘッダーは、IEがHTTPSモードでキャッシュを無効にするのを防ぐために必要です。これにより、Java WebStartがロードされたjnlpファイルを見つけることができなくなります(キャッシュされないため)。
Mime-typeは次のように設定されます:application / x-java-jnlp-file
私が理解していないのは、java1.4.2_12がJWS1.6.0_29によってロードされたjnlpファイルを見つけられない理由です。
読んでくれてありがとう。