我创建了一个使用Java Web启动启动的NetBeans平台应用程序。我使用Netbeans 6.8中的“构建JNLP应用程序”命令构建了战争文件。

我已经在JNLP文件中添加了桌面快捷方式和菜单项,但是由于某种原因,在启动应用程序时并未创建它们。

但是,当我去:

控制面板 - > Java->临时Internet文件 - >视图 - >选择我的应用程序>单击“安装快捷方式到所选的应用程序”

桌面和菜单快捷方式是正确创建的。

另外,在Java控制台中,快捷方式创建选项设置为以下(默认值,我认为):

  • 提示用户暗示

以下是我的JNLP文件的片段:

<jnlp spec="6.0+" codebase="$$codebase">   
      <information>
         <title>${app.title}</title>
         <vendor>SomeVendor (Pty) Ltd</vendor>
         <description>Some description</description>
         <icon href="${app.icon}"/>      
         <shortcut online="true">
            <desktop/>
            <menu submenu="MyApp"/>
         </shortcut>   
      </information>
      ...

我很难过。有人对此有解释吗?谢谢

PS这是Windows XP和Windows 7上的。NetBeans版本:6.8

有帮助吗?

解决方案

我通过使用Javax.jnlp.Integrationservice(自JDK 6.1.18)来解决此问题。

可以在JDK Samples目录中找到的JNLP.JAR找到此类课程:/sample/jnlp/servlet/jnlp.jar

以下代码可确保创建桌面快捷方式和菜单快捷方式:

    private void createShortcuts() {
        IntegrationService vIntegrationService = null;
        try {
            vIntegrationService = (IntegrationService) ServiceManager.lookup("javax.jnlp.IntegrationService");

            if (!vIntegrationService.hasDesktopShortcut() || !vIntegrationService.hasMenuShortcut()) {
                vIntegrationService.requestShortcut(true, true, "App Menu Name");
            }
        } catch(UnavailableServiceException ex){
            ex.printStackTrace();
        }
    }

其他提示

我在Linux上也有同样的问题,但是它在OS-X上的预期工作。我已经使用Tomcat和Jetty Web容器进行了测试。

因此,您的代码实际上是正确的。

我使用Eclipse构建Webstart应用程序也有同样的问题。我认为这是Windows上Webstart的限制。我认为您可以设置这些属性,但是用户仍然需要“安装”应用程序才能使用它们。

在Mac上安装要容易一些。您只需右键单击码头中的图标,单击选项,然后保留在码头中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top