您好,登錄后才能下訂單哦!
小編給大家分享一下如何使springboot的jar包以service方式啟動,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
打出的jar包用java -jar肯定是可以啟動的。 這種方式原生簡單,但是對運維不友好。
于是要求改造,希望可以用service命令來啟動。
技術上完全可以實現的。
pom.xml配置
pom.xml 中有2個配置點:
<finalName>custom-app</finalName> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 可執行 --> <executable>true</executable> </configuration> </plugin>
注: finalName要保證唯一性,不要帶 .1.1.SNAPSHOT 這樣的版本號。
先打包,然后執行如下腳本:
# 授權 chmod 755 custom-app ; # 啟動 ./custom-app.jar
如果能夠執行,表示maven配置生效了,jar包成了執行文件。
注: 查看jar包,發現前2,300行加入了shell腳本,這就是 <executable>true</executable> 生成的內容。
另: java -jar仍然是可以使用的,不會受到影響。
命令如下:
# 建立軟連接 ln -s /data/custom-app.jar /etc/init.d/custom-app # 然后就可以用service命令啟動了 service custom-app start
發現并沒輸出日志,那么怎么是否啟動了? 如何看日志?
# 這里可以看啟動的日志 /var/log/custom-app.log # 查看pid,模板為: /var/run/<appname>/<appname>.pid /var/run/custom-app/custom-app.pid
因沒用到,暫略。
最下面的spring文檔里也有systemctl配置的用法。
其他
關于配置的官網文檔
編寫啟動腳本startup.sh #!/bin/bash echo Starting application nohup java -jar activiti_demo-0.0.1-SNAPSHOT.jar & 授權 chmod +x startup.sh
編寫關閉腳本stop.sh #!/bin/bash PID=$(ps -ef | grep activiti_demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi 授權 chmod +x stop.sh
編寫重啟腳本restart.sh #!/bin/bash echo Stopping application source ./stop.sh echo Starting application source ./startup.sh 授權 chmod +x restart.sh
以上是“如何使springboot的jar包以service方式啟動”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。