基于NetBeans平台构建的Web Start应用程序不会创建桌面快捷方式和开始菜单项
我创建了一个使用Java Web Start启动的NetBeans平台应用程序。 我使用Netbeans 6.8中的“Build JNLP Application”命令构建了WAR文件。
我已经在JNLP文件中添加了桌面快捷方式和菜单项,但由于某些原因,在启动应用程序时不会创建这些快捷方式和菜单项。
但是,当我去:
控制面板 – > Java – > Internet临时文件 – >查看 – >选择我的应用程序>单击“安装所选应用程序的快捷方式”
桌面和菜单快捷方式是正确创建的。
此外,在Java控制台中,“快捷方式创建”选项设置为以下(默认情况下,我假设):
- 如果暗示提示用户
下面是我的JNLP文件的片段:
${app.title} SomeVendor (Pty) Ltd Some description ...
我很难过。 有没有人对此有解释? 谢谢
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; 尝试{ 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上安装起来要容易一些。 您只需右键单击Dock中的图标,单击选项,然后单击保留在Dock中。
- 如何使Ant Javadoc类排除两个文件?
- 使用ClassPathXmlApplicationContext的applicationContext.xml的正确路径
- 使用Jackson,如何为任意pojo类获取已知JSON属性的列表?
- “无法在Ant中创建任务或输入antlib:org.apache.maven.artifact.ant:mvn”错误
- 了解何时以及如何使用Java 8 Lambdas
- Java(仅限Windows的问题):当弹出modal dialog并单击阻止的JFrame时,alwaysOnTop JFrame会落到z-order的底部
- 可以用ColdFusion中的“常规”字符串操作逻辑替换java.lang.StringBuffer吗?
- hibernate session.save()没有反映在数据库中
- 是否可以在JBoss定时服务中使用Seam?