2013年10月21日 星期一

ⓒ使用yajsw將jar檔背景服務化 - 以Minecraft Server為例


在自己撰寫的Java程式因為有原始碼,我們可以自己將程式封裝成服務執行檔,但有些第三方軟體可能只有一個JAR檔,而JAR本身是個伺服器之類的話,我們常常都會是開啟一個討人厭的command視窗去運行,有沒有方法讓黑視窗消失又要能在開機時自動啟動呢? yajsw就是一個不錯的工具 :)

首先需要用到的檔案:

設置教學:
  1. 將『minecraft_server.1.6.2.jar』放到自訂資料夾『MinecraftServer』,本範例資料夾位置於『C:\MinecraftServer』。
  2. 解壓縮yajsw檔案至『MinecraftServer』資料夾。
  3. 建立檔名為『Start.bat』的文字檔案,建議使用記事本軟體
    Bat檔案內容如下:
  4. 執行『Start.bat』確定正常啟動伺服器,正常會出現Done字樣。
  5. 『Ctrl+Alt+Delete』啟動工作管理員,點選『檢視 > 選取欄位』勾選『PID(處理程序識別碼)』就會發現『處理程序』分頁多了PID欄位,如圖。
  6. 於『處理程序』分頁找到『java.exe』並記下PID號碼,如範例為5040。
  7. 於Minecraft伺服器黑視窗鍵入『stop』以執行關閉伺服器命令。
  8. 執行命令提示字元(Ctrl+R鍵入cmd),使用命令切換目錄至『C:\MinecraftServer\yajsw-stable-11.07\bat』,命令及如下:

  9. 鍵入『genConfig.bat 5040』執行,其中5040請改為您先前記下的PID號碼,範例如圖:
  10. 請打開在『MinecraftServer\yajsw-stable-11.07\conf』路徑下產生的『wrapper.conf』檔案,並找到如以下設定的位置,將『wrapper.tray = true』改為『wrapper.tray = false』:
  11. 執行『MinecraftServer\yajsw-stable-11.07\bat\runConsole.bat』測試看看伺服器是否也能正常啟動。
  12. 最後執行『MinecraftServer\yajsw-stable-11.07\bat\installService.bat』即可將伺服器安裝於背景服務囉!
參考文獻:
http://www.never-afk.de/minecraft_as_service.htm

後記:
這個工具還不錯用,有興趣的朋友可以試試看其他的JAR檔囉。
張貼留言