使WebStart Java桌面应用程序在Windows和Mac上的系统启动时启动

时间:2010-05-04 02:42:35

标签: java windows macos java-web-start autostart

我开发了小型跨平台(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抽象?

3 个答案:

答案 0 :(得分:2)

有,但它很新,所以它没有广泛使用。

IntegrationService于1.6.0u18推出。感兴趣的方法是requestShortcut

答案 1 :(得分:1)

您可以查看Java Service Wrapper。这可以将您的程序连接为Windows服务。

答案 2 :(得分:0)

凹凸!

似乎http://yajsw.sourceforge.net/是目前正在实现此目标的活动项目。