有兩種方案,一是通過JavaService來運(yùn)行,二是用exe4j轉(zhuǎn)換成exe程序,分別舉例如下:
一、JavaService
1.首先到http://javaservice./下載JavaService,最新版本為2.0.10
2.解壓JavaService-2.0.10.zip,將JavaService.exe拷到要運(yùn)行的java程序目錄下
3.進(jìn)入命令行,切換到j(luò)ava程序目錄,運(yùn)行
JavaService -install 服務(wù)名 jvm.dll文件路徑 -Djava.class.path=jar文件路徑(如有多個用;隔開) -start 啟動類 -out 輸出重定向 -err 錯誤信息重定向 -current 工作目錄 -depends 依賴的服務(wù) -description 服務(wù)描述信息
例如:
JavaService -install SampleService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path=%CD%\sample.jar;%CD%\mysql-connector-java-3.0.9-stable-bin.jar -start com.test.SampleService -out %CD%\stdout.log -err %CD%\stderr.log -current %CD% -depends mysql -description "測試Java服務(wù)"
卸載的時候?yàn)椋?br>JavaService -uninstall 服務(wù)名
例如:
Javaservice -uninstall SampleService
二、通過exe4j將java程序轉(zhuǎn)換為exe程序
1.首先到http://www./download/exe4j/files.php下載exe4j,按向?qū)О惭b
2.運(yùn)行exe4j,1.Welcome,直接按Next→2.project type,這里有兩個選擇,Regular mode和"JAR in EXE" mode,默認(rèn)即可(如果程序文件較少的話可以用"JAR in EXE",將所有文件打包成一個exe文件),Next
3.輸入應(yīng)用程序的名字和exe輸出目錄,Next
4.Executable type選Service,Executable name輸入要生成的exe文件名,此處可以勾選Icon file,為生成的exe文件選擇一個圖標(biāo),點(diǎn)擊Advanced options→設(shè)置輸出重定向和錯誤重定向的文件,Next→Description輸入服務(wù)描述信息,選擇啟動類型:自動運(yùn)行(Auto start),手動運(yùn)行(Start on demand),依賴的服務(wù)(Dependencies),Next到第五步Java invocation
5.Class path添加相應(yīng)的jar文件,然后選擇Main class,Next
6.Mininum version,輸入最低要求的java版本,如1.3,然后一直Next到完成
7.安裝服務(wù),進(jìn)入命令行,切換到相應(yīng)目錄,運(yùn)行生成的exe文件加參數(shù) -install,卸載服務(wù)為 -uninstall
其它命令:
-install-demand 安裝為手動啟動模式
-install-auto 安裝為自動啟動模式
-start 啟動服務(wù)
-stop 停止服務(wù)
-status 服務(wù)啟動狀態(tài)
另外"-"也可以換成"--"或者"/"
三、通過exe4j還有另外一種方法,就是打包為GUI application,然后通過instsrv.exe和srvany.exe運(yùn)行為windows服務(wù),方法為在exe4j第四步的時候Executable type選GUI application,其它同上
安裝為服務(wù)的方法,將instsrv.exe和srvany.exe拷入相應(yīng)目錄,進(jìn)入命令行,切換到相應(yīng)目錄
instsrv 服務(wù)名 %CD%\srvany.exe
然后打開注冊表,展開"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服務(wù)名\Parameters"
新建一字符串值A(chǔ)pplication,輸入生成的exe文件的路徑
輸入services.msc,找到相應(yīng)服務(wù),調(diào)節(jié)啟動類型為自動,啟動服務(wù),OK!