Приложение Web Start, построенное на платформе NetBeans, не создает ярлык на рабочем столе и пункт меню "Пуск"
Я создал приложение платформы NetBeans, которое запускается с помощью Java Web Start. Я создал файл WAR с помощью команды "Build jnlp Application" в Netbeans 6.8.
Я добавил ярлык рабочего стола и пункт меню в файл 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
3 ответов
мне удалось решить эту проблему с помощью javax.у jnlp.IntegrationService (доступно начиная с JDK 6.1.18).
этот класс можно найти в jnlp.jar найден в каталоге образцов JDK: / образец / jnlp / сервлет / jnlp.Джар
следующий код гарантирует, что ярлык рабочего стола и ярлык меню создаются:
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(); } }
У меня такая же проблема с Linux, но она работает так, как ожидалось на OS-X. Я тестировал как Tomcat, так и веб-контейнер Jetty.
Так, это шанс, что ваш код на самом деле правильно.
У меня такая же проблема с использованием Eclipse для создания приложения WebStart. Я решил, что это ограничение WebStart на Windows. Я подумал, что вы можете установить эти свойства, но пользователю все равно нужно "установить" приложение, чтобы использовать их.
Это немного проще установить на Mac. Вы просто щелкните правой кнопкой мыши на иконке в доке, нажмите на опции, а затем держать в доке.