2010-12-20 33 views
4

我想分發程序,我完成了一半寫,但我有麻煩搞清楚一些事情了...正確分發Java桌面應用程序

  1. 需要檢查最新的JRE和檢查我的應用程序的更新/補丁(jnlp?)

  2. 該程序將有一個或兩個內置的加密,所以我需要以某種方式將它包裝在一個.exe shell可能......? (NSIS?)如何鎖定我的代碼?

  3. 安裝後,我需要創建一個目錄,我的應用程序可以自動讀取和寫入,這樣我就可以保存設置並將信息登錄到客戶端計算機,然後能夠自動引用它,然後轉發。

我覺得跳到能夠與Java做的幾件事情,以分發與這些先決條件的應用程序是一個大的,我會很感激你可以分享任何建議或智慧。

+0

是不是Java WebStart應該幫助解決大多數這些問題? – 2010-12-20 04:25:26

+0

請糾正我,如果我錯了,但JNLP似乎沒有提供任何方式來改變咖啡杯的.jnlp圖標。我很樂意將JNLP與其他一些程序一起使用,這會讓我的桌面應用程序具有更專業的感覺,比如安裝到程序文件,.exe的自定義圖標。如果我可以使用JNLP和其他一些可以實現這些功能的程序,我會設置...建議? – whuff739 2010-12-20 04:29:31

回答

2

您可以使用第三方工具(如exe4j)構建可執行文件。它將檢查Java的兼容版本,並支持捆綁的JRE。簽名和驗證jar文件的概述是here。你也可以選擇obfuscate你的代碼來保護它免受窺探。

要將用戶設置存儲在使用Java SE的文件中,可以通過系統屬性「user.home」獲取用戶的主目錄。或者,您可以使用Java Preferences API存儲用戶設置;在Windows上,這存儲在註冊表中。

我猜你正在使用Swing。但是,如果您碰巧使用Eclipse富客戶機平臺:

  • RCP具有自己的用於存儲用戶設置的首選項API。
  • RCP的供應系統p2支持應用程序內組件的配置管理和更新。
+0

所以原諒我的無知......我做這些事情的順序是什麼?所以我通過Eclipse RCP完成應用程序,混淆它,然後用exe4j包裝它?你會怎麼做呢? – whuff739 2010-12-20 04:22:58

+0

如果您在SWT/JFace/RCP而不是Swing上構建應用程序,則可以在Eclipse IDE中創建並運行產品構建,這會生成可執行文件,從而使exe4j變得不必要。否則,您可能會混淆Java代碼內部,然後使用exe4j或類似命令創建可執行文件。 – 2010-12-20 04:34:07