基于 NetBeans 平台构建的 Web Start 应用程序不会创建桌面快捷方式开始菜单项

发布于 2024-08-30 17:39:56 字数 1017 浏览 7 评论 0原文

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

我已将桌面快捷方式和菜单项添加到 JNLP 文件,但由于某种原因,这些不是在应用程序启动时创建的。

但是,当我去:

控制面板-> Java->暂时的 互联网文件 ->查看->选择我的 应用>>单击“安装快捷方式” 到选定的应用程序'

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

另外,在 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

I've created a NetBeans Platform application that is launched using Java Web Start. I built the WAR file using the 'Build JNLP Application'-command in Netbeans 6.8.

I've added a desktop shortcut and menu item to the JNLP file, but for some reason, these are not created when the application is launched.

However, when I go to:

Control Panel -> Java -> Temporary
Internet Files -> View -> Select my
application > Click 'Install shortcuts
to the selected application'

the desktop and menu shortcuts are created correctly.

Also, in the Java Console, the Shortcut Creation option is set to the following (the default, I presume):

  • Prompt user if hinted

Below is a snippet of my JNLP file:

<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>
      ...

I'm stumped. Does anybody have an explanation for this?
Thanks

PS This is on both Windows XP and Windows 7. NetBeans version: 6.8

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧城烟雨 2024-09-06 17:39:56

我设法使用 javax.jnlp.IntegrationService(自 JDK 6.1.18 起可用)解决了这个问题。

该类可以在 JDK 示例目录中的 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();
        }
    }

I managed to resolve this by using the javax.jnlp.IntegrationService (available since JDK 6.1.18).

This class can be found in the jnlp.jar found in the JDK samples directory:
/sample/jnlp/servlet/jnlp.jar

The following code ensures that the desktop shortcut and menu shortcut are created:

    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();
        }
    }
檐上三寸雪 2024-09-06 17:39:56

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

因此,您的代码很有可能实际上是正确的。

I have the same issue with Linux, but it works as expected on OS-X. I have tested with both the Tomcat and the Jetty web container.

So, it's a fair chance that your code is actually correct.

半世晨晓 2024-09-06 17:39:56

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

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

I have the same problem using Eclipse to build a WebStart application. I figured it was a limitation of WebStart on Windows. I figured you can set those properties, but the user still needs to "install" the app to use them.

It's a bit easier to install on the Mac. You just right click on the icon in your dock, click on Options and then Keep in Dock.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文