Я разработал небольшое кроссплатформенное (Windows и Mac) настольное приложение SWT. Распространяется с WebStart. Пока все хорошо, все работает.
У меня появилось новое требование, чтобы мое приложение запускалось при запуске системы (без взаимодействия с пользователем). Каков наилучший способ сделать это?
В файле JNLP у меня есть это:
<shortcut online="false">
<desktop/>
<menu submenu="CompanyName"/>
</shortcut>
В Windows WebStart создает ссылку на рабочем столе [app_name].lnk
и указывает на
javaws.exe
, а затем какой-то кеш-файл Java в качестве параметра с забавным именем, например ..\Sun\Java\Deployment\cache\6.0\4\2c0a6a781-213476
. Я могу программно найти эту ссылку на компьютере пользователя по имени ... эээ ... и скопировать ее в папку пользователя Startup
. Я вижу проблему здесь, хотя пользователь может отключить опцию создания ярлыка на рабочем столе WebStart все вместе.
На Mac WebStart появляется диалоговое окно, чтобы запросить у пользователя место для создания файла [app_name].app
(пользователь может изменять имя ссылки!), Который запускает приложение. На Mac я не знаю, где находится папка Startup
(, и она там гораздо сложнее ).
Существует ли библиотека Java, которая абстрагирует запускает приложение при запуске системы концепцию на разных платформах, как SWT делает для абстракции GUI?