1. 程式人生 > >將jar檔案安裝為系統服務

將jar檔案安裝為系統服務

最近做了一個專案要將開發好的專案打成jar包並安裝成為系統服務執行,網上找過好多文章 但是不是全面 細節的地方好多沒有闡述, 經過一番努力 系統服務安裝成功,記錄下,方便以後查閱

一、首先要將自己開發好的java專案打成jar包,不是我們平時打的只有class檔案jar,而是生成可執行的jar-runnable jar

下面是用idea打包的過程

 1、file-ProjectStructure(ctrl+alt+shift+S)

2、

module選擇自己的專案,main class選擇帶main方法的class類 

這裡下載到的是64位的  如果在64位電腦上使用32位的JavaService.exe 會報非正確的32位程式  有類似的錯誤就是使用的軟體位數不對了

如何知道下載到的JavaService.exe是多少位的  這裡有個簡單方法

開啟windows自帶的“記事本”,並使用記事本直接開啟你的exe檔案,第二行開頭不遠處有PE兩個字母,再後面兩個空格後第三個字元就是標記了,如果是字母L的話,就是32位應用程式,如果是d?就表示是64位應用程式

三、使用命令安裝系統服務 執行命令之前先進入到JavaService.exe所在的目錄 並將你上面打好的jar包也放在這個目錄下,如果你的專案有依賴其他第三方jar包,將第三方的jar包都放到lib資料夾下並將lib放到和JavaService.exe的相同目錄下,你專案所依賴的jar包在你打好包以後的target目錄下lib目錄裡面,這裡需要注意的是你第三方jar包是放在和你專案jar相同目錄下還是放在相同目錄的lib資料夾下是要看你打的專案jar的引用位置的,檢視引用位置,用rar開啟你的專案jar檔案,META-INF下MANIFEST.MF檔案裡面如果class-path中jar包的前面帶著lib 則需要放到javaservice.exe相同目錄的lib下,否則和javaservice.exe相同目錄 MAIN-CLASS ;記錄的是主函式所在的類

 win+R  cmd  命令如下:

JavaService.exe -install ScoreMarkerService "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path="%JAVA_HOME%"\lib\tools.jar;F:\git\ExamStack\scoreMarker\ScoreMarker-2.0.0.jar -Xms500m -Xmx1024m -start com.examstack.scoremarker.ScoreMarkerMain  -out F:\git\ExamStack\scoreMarker\log\out.log -err F:\git\ExamStack\scoreMarker\log\err.log

執行命令之前確保自己的電腦上已正確安裝了java環境 -start引數是主函式所在的類 -out和-err是日誌的輸出位置,啟動時如果報錯可以看日誌找原因

四、本人實際安裝的時候可沒有注意到這麼多需要注意的地方,經常報錯,如果沒有正確啟動 也可以系統管理裡面檢視系統服務的日誌 檢視原因 我的電腦 右鍵 管理


到這裡就是我的安裝過程了 希望大家好運 如果有問題 歡迎留言 大家一起探討