非常感谢所有需要时间阅读的人 .
我正在努力使用java webstart 1.6.0_29创建一个Webstart Swing 1.4.2_12应用程序 .
这是场景:
所有流量都通过HTTPS完成
用户在网页上打开链接以启动应用程序:servlet生成的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 fails on startup claiming that it cannot find some ghost "javaws2" file
报告以下消息:
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.(Unknown Source)
at java.io.FileInputStream.(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 servlet发送到客户端:
Cache-Control : empty
Pragma : empty
这些标头是防止IE在HTTPS模式下禁用缓存所必需的,这会阻止java webstart找到加载的jnlp文件(因为它没有被缓存) .
Mime-type设置为:application / x-java-jnlp-file
我不明白为什么java 1.4.2_12找不到JWS 1.6.0_29加载的jnlp文件?
谢谢阅读 .