2010-06-21 73 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