使用Java Webstart创建桌面快捷方式

时间:2014-07-09 16:30:15

标签: java java-web-start

我有一个使用Java Web Start运行的Java应用程序(JAR文件)。就实际运行的应用程序而言,一切都很好。

什么不起作用是JWS安装的快捷方式。这是我的JNLP文件<information>标记

<information>
    <title>My App</title>
    <vendor>My Company</vendor>
    <homepage href="http://example.com"/>
    <description>My Description</description>
    <description kind="short">desc short</description>
    <icon href="splash.png" kind="splash"/>
    <icon kind="shortcut" href="icon.png" />
    <shortcut online="false" install="true">  
        <desktop/>  
        <menu submenu="My APP"/>  
    </shortcut> 
</information>

现在我知道一个主要问题是我们的IT政策阻止了快捷方式安装。

Install Blocked

如果我直接从Java Cache Viewer

执行此操作,则会安装快捷方式

enter image description here

我尝试从JAVAWS工具中做到这一点,但这也不起作用。

javaws -verbose -import -silent -shortcut my-file.jnlp

我可以做什么,以便在部署应用程序时自动安装快捷方式?

1 个答案:

答案 0 :(得分:1)

使用JNLP表示法创建快捷方式时也存在一些问题,所以这段代码就是这样做的:

public static final String JAVAXJNLP_INTEGRATION_SERVICE = "javax.jnlp.IntegrationService";

public static void criaAtalhosWebStart() {
    IntegrationService integ;
    try {
        integ = (IntegrationService) ServiceManager.lookup(JAVAXJNLP_INTEGRATION_SERVICE);
        if (integ != null) {
            if (!integ.hasDesktopShortcut() || !integ.hasMenuShortcut()) {
                integ.requestShortcut(true, true, "Shorcut Label");
            }
        }
    } catch (UnavailableServiceException ex) {
        System.out.println("Error in creating shorcut: " + ex.getMessage());
    }
}

这使用JNLP集成服务,该服务由jnlp.jar提供。该jar与JRE捆绑在一起,因此您需要配置构建过程以找到它,但您无需将其提供给您的客户。