1. 程式人生 > >將java程式做成windows系統服務

將java程式做成windows系統服務

採用的Java Service Wrapper工具, 下載地址: 
http://sourceforge.net/projects/wrapper/files/(當下最新版為3.5.6的) 

步驟: 
1、解壓縮java service wrapper包,假設目錄為:wrapper_home 
2、建立一個目錄比如:D盤server資料夾裡面建立bin、conf、logs、lib資料夾。 
3、將wrapper_home/bin目錄裡wrapper.exe 
   將wrapper_home/src/bin目錄裡App.bat.in 
   將wrapper_home/src/bin目錄裡InstallApp-NT.bat.in 
   將wrapper_home/src/bin目錄裡UninstallApp-NT.bat.in 
   統一拷貝至server/bin目錄裡,並去掉字尾名in。 
   將wrapper_home/src/conf目錄wrapper.conf.in拷貝至server/conf目錄裡去掉字尾名in 
   再將wrapper_home/lib/目錄裡面的wrapper.jar和wrapper.dll拷貝至server/lib目錄裡面 
4、將你的應用程式打成jar包後放入server/lib目錄裡面,如果程式依賴第三方架包,同樣將jar包放入該目錄下。 
5、配置server/conf/wrapper.conf檔案。 
主要修改以下幾項即可: 
#你的JVM位置(文中有進行設定的地方...): 
wrapper.java.command=%JAVA_HOME%\bin\java 
#classpath:裡面新增上你要執行的應用程式jar,以及依賴的第三方jar,有多個依次類推 
wrapper.java.classpath.1=../lib/應用程式.jar 
wrapper.java.classpath.2=../lib/wrapper.jar 
wrapper.java.classpath.3=../bin/第三方.jar 
# Java Library Path (location of Wrapper.DLL or libwrapper.so) 

#你的Java應用類(一般而言就是包含main函式的類), 
wrapper.app.parameter.1= service.Server.Serverbegin 
# 服務名 
wrapper.name=server 
# Display name of the service 
wrapper.displayname=server 
# 服務描述 
wrapper.ntservice.description=receive message 
其他的配置根據你的需要改變即可 
6.  對以上配置的App.bat進行測試,執行App.bat,dos視窗中顯示; 
7.  對以上配置的服務進行測試,執行server/bin/InstallApp-NT.bat將把你的應用(此處為server)安裝到Win32系統服務中了。 
8.  開啟控制面板-管理程式-服務,看到server已經在系統服務中了,其他用法就與我們熟悉的Windows服務一樣了。 

bin/App.bat  控制檯方式執行程式 

bin/InstallApp-NT.bat  安裝服務 

bin/UninstallApp-NT.bat 刪除服務 
wrapper.java.library.path.1=../lib(存放.dll的位置) 
#MAIN CLASS 此處決定了使用Java Service Wrapper的方式 
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp 
(注意: 此處不是指你自己的java類,而是表明你採用的方式) 
    
 
   需要強調的是: 如果你工程的jar包很多的話可以採取正則表示式的方式,例如我的lib下有80個jar檔案,那麼你可以使用/*.jar的形式。 經本人驗證OK! 

   附加說明: 由於本人是在虛擬機器下執行上述實驗的,不便截圖與複製配置檔案內容回本機, 因此截圖與配置檔案都是copy網上的(可能部分檔名有出入,自己摸索一下)... ... 

   看到有另外一種做法:http://liubey.iteye.com/blog/701993