Создать ярлык на рабочем столе с Java Webstart

1

У меня есть приложение Java (JAR файл), который работает с использованием Java Web Start. Все работает с точки зрения фактически запущенного приложения.

Не работает ярлык, устанавливаемый JWS. Вот мой тег <information> файла JNLP

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

Теперь я знаю, что одна серьезная проблема заключается в том, что установка ярлыков блокируется нашей политикой ИТ.

Изображение 174551

Ярлыки устанавливают, если я делаю это непосредственно из Java Cache Viewer

Изображение 174551

Я попытался сделать это с помощью инструмента JAVAWS, но это тоже не сработало.

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

Что я могу сделать, чтобы автоматически устанавливать ярлыки при развертывании моего приложения?

Теги:
java-web-start

1 ответ

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. Эта банка поставляется в комплекте с JRE, поэтому вам нужно будет настроить процесс сборки, чтобы найти ее, но вам не нужно предоставлять ее своим клиентам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню