我开发了小型跨平台(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
文件夹所在的位置(and it seems to be much more complex there)。
是否有Java库在不同平台上抽象启动app on system startup 概念,因为SWT用于GUI抽象?
答案 0 :(得分:2)
有,但它很新,所以它没有广泛使用。
IntegrationService于1.6.0u18推出。感兴趣的方法是requestShortcut。
答案 1 :(得分:1)
您可以查看Java Service Wrapper。这可以将您的程序连接为Windows服务。
答案 2 :(得分:0)
凹凸!
似乎http://yajsw.sourceforge.net/是目前正在实现此目标的活动项目。