2

我有一个通过 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>

有没有其他人看过这个?有人可以告诉我我做错了什么。

4

1 回答 1

0

我认为提示您运行应用程序对话框两次,因为您使用了扩展:我猜您被提示的第一个对话框要求运行应用程序,第二个 - 安装扩展。这是正常的行为。

于 2014-03-18T13:25:03.643 回答