JavaWS APPLICATION_TEMPLATE.JNLP导致崩溃

时间:2016-04-25 19:10:31

标签: java java-web-start

我有一个通过Java WebStart启动的swing应用程序。转移到Java 8后,我遇到以下问题。

使用以下MYAPP.jnlp文件以及MyApp.jar文件的JNLP-INF目录中包含的附加APPLICATION_TEMPLATE.JNLP文件。

/MYAPP.jnlp

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="$$codebase" href="MYAPP.jnlp">
    <information>
        <title>Test App</title>
        <vendor>Test Vendor</vendor>
        <homepage href="docs/help.html"/>
        <description>A Test Application</description>
        <icon href="images/IMG.gif"/>
        <icon kind="splash" href="images/IMGSplash.jpg"/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <java version="1.8+ 1.7+"/>
        <property name="swing.defaultlaf" value="com.test.test.MyLookAndFeel"/>
        <property name="sun.java2d.noddraw" value="true"/>
        <property name="jnlp.versionEnabled" value="true" />
        <jar href="MyApp.jar" version="4.3.5" main="true"/>
    </resources>
    <application-desc main-class="com.test.test.MySwingFrame">
        <argument>configFile=$$site/TEST.config</argument>
        <argument>envFile=$$site/TEST.properties</argument>
        <argument>logConfigFile=$$site/logback.xml</argument>
    </application-desc>
</jnlp>

JNLP-INF / APPLICATION_TEMPLATE.JNLP

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="*" href="MYAPP.jnlp">
    <information>
        <title>Test App</title>
        <vendor>Test Vendor</vendor>
        <homepage href="docs/help.html"/>
        <description>A Test Application</description>
        <icon href="images/IMG.gif"/>
        <icon kind="splash" href="images/IMGSplash.jpg"/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <java version="1.8+ 1.7+"/>
        <property name="swing.defaultlaf" value="com.test.test.MyLookAndFeel"/>
        <property name="sun.java2d.noddraw" value="true"/>
        <property name="jnlp.versionEnabled" value="true" />
        <jar href="MyApp.jar" version="4.3.5" main="true"/>
    </resources>
    <application-desc main-class="com.test.test.MySwingFrame">
        <argument>*</argument>
        <argument>*</argument>
        <argument>*</argument>
    </application-desc>
</jnlp>

将上述APPLICATION_TEMPLATE.JNLP文件放入JNLP-INF时,安装应用程序后,Java Webstart会以静默方式失败。我无法在跟踪日志中找到任何错误跟踪,控制台窗口甚至无法打开。仅删除APPLICATION_TEMPLATE.JNLP时,应用程序将启动。

是否有人通过APPLICATION_TEMPLATE.JNLP成功签署JNLP文件?

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我的建议是尝试以下方法:

  1. 将计算机的java安全级别更改为中级(控制面板 - &gt; Java - &gt;安全性选项卡)
  2. 清除所有java缓存(控制面板 - &gt; Java - &gt;查看...)
  3. 打开cmd,设置java home的路径(java 8),使用'javaws'命令打开jnlp文件..