У меня есть приложение 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>
Теперь я знаю, что одна серьезная проблема заключается в том, что установка ярлыков блокируется нашей политикой ИТ.
Ярлыки устанавливают, если я делаю это непосредственно из Java Cache Viewer
Я попытался сделать это с помощью инструмента JAVAWS, но это тоже не сработало.
javaws -verbose -import -silent -shortcut my-file.jnlp
Что я могу сделать, чтобы автоматически устанавливать ярлыки при развертывании моего приложения?
У нас также есть некоторые проблемы при создании ярлыков с обозначением 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, поэтому вам нужно будет настроить процесс сборки, чтобы найти ее, но вам не нужно предоставлять ее своим клиентам.