1. 程式人生 > >通過JavaService 將java jar包註冊成Windows 服務

通過JavaService 將java jar包註冊成Windows 服務

sys 1.8 sdn 系統啟動 分享圖片 ado svc net 名稱

一、 下載Javaservice ,把壓縮文件解壓,放到本地磁盤。
下載地址:
JavaService 64位 http://download.forge.ow2.org/javaservice/JavaService_2_0_10-amd64.zip
JavaService 32位 http://download.forge.ow2.org/javaservice/JavaService-2.0.10.zip
二、 準備jar包,查看jar 包Main函數所在的class
技術分享圖片
三、 將jar包、解壓後的Javaservice執行程序、jdk免安裝包放在同一個文件夾下,並在該文件下新建err.log 和 out.log 文件。
四、 註冊完成後可能會遇到“The LoadLibrary function failed for the following reason 找不到指定的模塊的解決”的問題,為避免該問題,在此先進行處理。
方法1:拷貝%JAVA_HOME%/bin/msvcr100.dll 文件到C:\Windows\System32,
如果是64位系統還要拷貝到C:\Windows\SysWOW64。
方法2:拷貝%JAVA_HOME%/bin/msvcr100.dll 文件到到java程序打包成的jar文件同一個目錄下
采用第二種方法,將java-1.8.0_172\jre\bin\msvcr100.dll拷貝到java 程序jar包所在的目錄下,這個目錄結構如下:
技術分享圖片
此時start.bat 為空文件
app 目錄下存放的文件
技術分享圖片
五、 編寫bat腳本(start.bat)
@echo off

rem Get the current path
set C_PATH=%CD%

rem Get the installation path
set /p "I_PATH=Please enter the installation path:"

rem Check whether the installation path exists.
rem If the path already exists ,exit.
rem if no exists,creation installation path.

if exist %I_PATH% goto I_PATH_EXIT
if not exist %I_PATH% goto I_PATH_ONT_EXIT

:I_PATH_EXIT
echo %I_PATH% Already exist, please replace
set /p "I_PATH=Please enter the installation path:"
if exist %I_PATH% goto I_PATH_EXIT
if not exist %I_PATH% goto I_PATH_ONT_EXIT

:I_PATH_ONT_EXIT
mkdir %I_PATH%\app

rem echo Copy the file to the installation directory
rem xcopy directory ,copy file
xcopy %C_PATH%\app %I_PATH%\app /s

@ timeout 3
rem Register as a service
%I_PATH%\app\JavaService.exe -install Hello-test "%I_PATH%\app\java-1.8.0_172\jre\bin\server\jvm.dll" -Xms256m -Xmx1024m -jar -Djava.class.path="%I_PATH%\app\java-1.8.0_172\lib\tools.jar;%I_PATH%\app\helloworld.jar" -start "org.springframework.boot.loader.JarLauncher" -out "%I_PATH%\app\out.log" -err "%I_PATH%\app\err.log" -current "%C_PATH%" -auto
@ timeout 5
net start Hello-test

rem Generate configuration file
echo 系統安裝路徑:%I_PATH%\app > %C_PATH%\confing.txt
echo 系統啟動命令:net start Hello-test >> %C_PATH%\confing.txt
echo 系統關閉命令:net stop Hello-test >> %C_PATH%\confing.txt
echo 可以通過服務啟動或關閉系統(已經配置開機自啟動 )>> %C_PATH%\confing.txt
echo 系統服務卸載命令:sc delete Hello-test >> %C_PATH%\confing.txt
pause
註:-start "org.springframework.boot.loader.JarLauncher" –start 後面的class 為第二步中查到的class名稱
六、 在Windows 10操作系統上進行測試(雙擊start.bat文件)
技術分享圖片
技術分享圖片

看到上面的頁面,說明服務註冊成功,並已經啟動,按任意鍵退出即可。

七、 查看管理說明文檔
技術分享圖片
confing.txt 在成功啟動服務後自動生成
技術分享圖片
八、 查看安裝路徑文件
技術分享圖片
其中out.log 文件中記錄服務啟動日誌
九、 參考文檔
https://blog.csdn.net/cxj1990year/article/details/41862831

通過JavaService 將java jar包註冊成Windows 服務