我有一个通过 WebStart 部署的 Eclipse RCP 应用程序。我们尚未签署我们的顶级 JNLP,因此启动客户端会导致以下带有黄色警告图标的对话框。
我发现了一篇关于将 JNLP 作为 JNLP-INF/APPLICATION.JNLP 添加到主 jar 的帖子。然后,当主 jar 被签名时,JNLP 将被“签名”,并且启动对话框上的警告将更改为信息性。
但是,当我对主 jar 进行此更改并启动应用程序时,系统会提示我的用户运行上面显示的应用程序对话框两次。位于顶级应用程序目录和主 jarJNLP-INF/APPLICATION.JNLP 文件中的 JNLP 文件具有:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://local.mycompany.COM/Client" href="client.jnlp">
<information>
<title>Client</title>
<vendor>mycompany</vendor>
<description>Client Application</description>
<shortcut>
<desktop/>
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<update check="always" policy="always"/>
<resources>
<jar href="plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar"/>
<extension name="Wrapper feature" href="features/com.mycompany.client.feature_0.7.0.jnlp" />
<property name="osgi.instance.area" value="@user.home"/>
<property name="osgi.configuration.area" value="@none"/>
<property name="osgi.configuration.cascaded" value="false"/>
<property name="osgi.bundles" value="org.eclipse.equinox.event@2:start,org.eclipse.equinox.ds@2:start,org.eclipse.core.runtime@4:start,org.eclipse.equinox.common@2:start"/>
<property name="eclipse.application" value="com.mycompany.client.application"/>
<!-- Valid log levels are INFO, WARNING, ERROR -->
<property name="logLevel" value="ERROR"/>
<property name="logFile" value="client.log"/>
</resources>
<resources os="Windows" arch="x86">
<j2se version="1.6+" />
</resources>
<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
</jnlp>
有没有其他人看过这个?有人可以告诉我我做错了什么。