2010-06-21 74 views
1

我们使用WebStart JNLP文件在用户桌面上创建快捷方式。Java WebStart JNLP:首次运行时运行不同代码

问题是我们希望我们的jar文件中的代码仅在用户按下桌面快捷方式时才会启动。 但是,Java WebStart在第一次启动时(当我们设置桌面图标时)也执行该jar。

有没有什么办法可以在不运行jar的情况下设置图标,而是在用户按下桌面图标时启动jar?

回答

0

在你的代码第一件事情检查[user.home]/.apphome/.installed(或任何其他位置,这是你的选择)文件存在。如果它确实正常运行你的应用程序。如果它不创建该文件并退出。

根据你运行它的平台,你也可以写入Windows注册表,但我宁愿不要。

如果用户不允许通过Java配置创建快捷方式,那么您的策略是什么?

+0

我们使用了相同的解决方案,但使用了不同的approuch。 我们使用Java Muffins来检查这是否是第一次启动应用程序 - 它运行良好! – Dudi 2010-06-30 11:13:43

+0

@Dudi这更好。 – parxier 2010-07-01 01:21:52

2

为什么不能有两个不同的webstart应用程序;一个用于安装;一个跑步?

在您的网络服务器上使用一些逻辑来决定运行哪一个?

+0

嗨吉尔 - 任何想法如何做到这一点?你可以参考一个链接或添加一些例子? – Dudi 2010-06-21 19:05:03

+0

当你从网页开始它时,你可以传递一个参数来说明只安装;所以可执行文件有点智能。 – 2010-06-21 20:22:47

+0

对于一个普通的网页\服务器应用程序 - 这是有道理的。但是,对于JNLP,我无法在文档中找到如何将参数传递给JNLP。 我相信问题是我需要在我的网站上运行不同于用户计算机上安装的JNLP。 – Dudi 2010-06-22 06:19:27