2014-01-26 112 views
2

我有一個Java應用程序,它偵聽端口並接受傳入的連接。它從平面文件(配置文件)中獲取端口號。它需要將一些.dll放置在JRE文件夾中才能工作。從jar文件創建windows服務

我想按照下面的方式做。

  • 創建.jar文件(我已經做到了)
  • 創建.exe文件或安裝文件(這會自動將這些.dll文件中相應的JRE路徑
  • 當安裝程序完成自動啓動.jar文件服務將在後臺運行Windows服務。

我在2個3點的某些問題。我怎樣才能從.jar文件?第三方工具,我應該使用哪一個創建安裝?最後我怎樣才能啓動.exe作爲Windows服務?

+0

java的要點是編寫一次並在任何地方運行。你在用什麼DLL?也許你可以使用Java API來完成同樣的事情。 –

+0

這個庫用於串行通信'rxtx' dll的名稱是'rxtxSerial.dll' – Shaggy

+3

它不應該有必要將DLL放入JRE文件夾中 - 並且如果用戶混淆基本系統,用戶可能會扼殺你配置這種方式。作爲啓動Java代碼的過程的一部分,請恰當地設置路徑。 – keshlam

回答

0

使用類似Zero Install,install4jIzPack的工具爲您需要的所有平臺創建安裝程序(例如.exe)。這些工具使用二進制安裝程序包裝您的JAR文件。通常他們還允許您安裝/複製其他文件,例如您的DLL。

此外,由@keshlam在評論中提出,可以將這些安裝程序配置爲使用特定參數(例如DLL的路徑)運行您的應用程序。

順便說一句,你有沒有想過使用JavaComm instead of RxTx

+0

我發現rxtx比java comm – Shaggy

+0

快很多......希望我的回答仍然有幫助。 –