我的java web start应用程序仅在设置了详细信息时启动

时间:2016-06-01 14:01:03

标签: java java-web-start jnlp

我有一个java web start应用程序,我尝试通过

启动
javaws.exe https://localhost:8888/myApplication/myApplication.jnlp

没有任何反应(没有错误消息;我看不到任务列表中没有进程)。

如果我通过

启动它
javaws.exe -verbose https://localhost:8888/myApplication/myApplication.jnlp

应用程序启动。

我也可以在使用

时启动应用程序
javaws.exe -viewer https://localhost:8888/myApplication/myApplication.jnlp

然后从 java缓存查看器启动应用程序。

有什么区别,可能会在详细模式下或通过查看器触发应用程序运行?这是我的jnlp文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="https://localhost:8888/myApplication" href="myApplication.jnlp">
    <information>
        ....
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="1.8.0_60+"         href="http://java.sun.com/products/autodl/j2se"          max-heap-size="500m" initial-heap-size="250m"/>
        <!-- some jars are referenced -->
        <property name="sun.java2d.d3d" value="false" />
    </resources>
    <resources os="Windows">
        <nativelib href="mylib.jar" download="eager" />
    </resources>
    <application-desc main-class="myClass">
        <argument>-initLogging</argument>
        <argument>SETPROPERTYjavax.net.ssl.trustStore</argument>
        <argument>_UNDEFINED_</argument>
        <argument>SETPROPERTYjavax.net.ssl.trustStoreType</argument>
        <argument>_UNDEFINED_</argument>
        <argument>SETPROPERTYjavax.net.ssl.trustStorePassword</argument>
        <argument>_UNDEFINED_</argument>
        <argument>-locale</argument>
        <argument>_UNDEFINED_</argument>
        <argument>-serviceHost</argument>
        <argument>_UNDEFINED_</argument>
        <argument>-serviceProtocol</argument>
        <argument>_UNDEFINED_</argument>
        <argument>-servicePort</argument>
        <argument>_UNDEFINED_</argument>
        <argument>-trustStrategy</argument>
        <argument>_UNDEFINED_</argument>
    </application-desc>
</jnlp>

3 个答案:

答案 0 :(得分:2)

我激活了跟踪和日志输出,发现发生了异常:

java.io.FileNotFoundException: C:\ProgramData\Oracle\Java\java.settings.cfg (Das System kann den angegebenen Pfad nicht finden)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileReader.<init>(FileReader.java:72)
    at com.sun.deploy.config.WinPlatform.readSystemConfig(Unknown Source)
    at com.sun.deploy.config.WinPlatform.getSponsorOffersDisabledSettings(Unknown Source)
    at com.sun.deploy.config.ClientConfig.getSponsorOffersDisabledSettings(Unknown Source)
    at com.sun.deploy.panel.AdvancedProperties.saveSponsorOfferingSettings(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.apply(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.<init>(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.main(Unknown Source)
    at com.sun.javaws.Main.launchJavaControlPanel(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)

然后我找到了这个页面: https://bugs.openjdk.java.net/browse/JDK-8134475

当我激活java浏览器内容时(Java控制面板&gt;安全选项卡&gt;选择复选框&#34;为浏览器和Web Start应用程序启用内容&#34;)。 然后应用程序开始......

但问题是:我不知道为什么!

答案 1 :(得分:1)

我也有问题(请参阅我的评论My java web start application only starts when verbose is set

我通过更新Java解决了这个问题,即重新安装Java。文件C:\ProgramData\Oracle\Java\java.settings.cfg再次创建,这个新的Java安装可以再次正确打开Web启动应用程序。虽然旧版本仍然存在相同的错误。

答案 2 :(得分:0)

使用Java 9更新Java后,我需要在Java控制面板的安全选项卡中“在浏览器中启用Applet和Web Start”。