Я создал Платформенное приложение NetBeans, которое запускается с помощью сети Java, Запускаются. Я создал ВОЕННЫЙ файл с помощью 'Сборки '-команда Приложения JNLP в Netbeans 6.8.
Я добавил настольный ярлык и пункт меню в файл JNLP, но по некоторым причинам, они не создаются, когда приложение запущено.
Однако, когда я перехожу в:
Панель управления-> Java-> Временные интернет-Файлы-> Представление-> Выбор мое приложение> Нажимает 'Install shortcuts to the selected application'
рабочий стол и ярлыки меню создаются правильно.
Кроме того, в Консоли Java опция Shortcut Creation установлена на следующее (значение по умолчанию, я предполагаю):
Ниже отрывок моего файла 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
Мне удалось решить эту проблему с помощью javax.jnlp.IntegrationService (доступен с JDK 6.1.18).
Этот класс можно найти в jnlp.jar, находящемся в каталоге образцов JDK: /sample/jnlp/servlet/jnlp.jar
Следующий код обеспечивает создание ярлыка рабочего стола и ярлыка меню:
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 установить приложение немного проще. Просто щелкните правой кнопкой мыши на значке в доке, выберите Options, а затем Keep in Dock.