使用springboot的jar包能夠以service方式啟動(dòng)
springboot jar包以service啟動(dòng)
場(chǎng)景
打出的jar包用java -jar肯定是可以啟動(dòng)的。 這種方式原生簡(jiǎn)單,但是對(duì)運(yùn)維不友好。
于是要求改造,希望可以用service命令來啟動(dòng)。
過程
技術(shù)上完全可以實(shí)現(xiàn)的。
pom.xml配置
pom.xml 中有2個(gè)配置點(diǎn):
<finalName>custom-app</finalName>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 可執(zhí)行 -->
<executable>true</executable>
</configuration>
</plugin>
注: finalName要保證唯一性,不要帶 .1.1.SNAPSHOT 這樣的版本號(hào)。
打包(maven),授權(quán),啟動(dòng):
先打包,然后執(zhí)行如下腳本:
# 授權(quán) chmod 755 custom-app ; # 啟動(dòng) ./custom-app.jar
如果能夠執(zhí)行,表示maven配置生效了,jar包成了執(zhí)行文件。
注: 查看jar包,發(fā)現(xiàn)前2,300行加入了shell腳本,這就是 <executable>true</executable> 生成的內(nèi)容。
另: java -jar仍然是可以使用的,不會(huì)受到影響。
建立軟連接,通過service命令來啟動(dòng)
命令如下:
# 建立軟連接 ln -s /data/custom-app.jar /etc/init.d/custom-app # 然后就可以用service命令啟動(dòng)了 service custom-app start 發(fā)現(xiàn)并沒輸出日志,那么怎么是否啟動(dòng)了? 如何看日志? # 這里可以看啟動(dòng)的日志 /var/log/custom-app.log # 查看pid,模板為: /var/run/<appname>/<appname>.pid /var/run/custom-app/custom-app.pid
systemctl配置
因沒用到,暫略。
最下面的spring文檔里也有systemctl配置的用法。
其他
關(guān)于配置的官網(wǎng)文檔
SpringBoot啟動(dòng)服務(wù)的三種方式
1.IDEA啟動(dòng)

2.命令行啟動(dòng)
首先將命令行位置跳轉(zhuǎn)到當(dāng)前項(xiàng)目的根目錄下,再輸入“mvn spring-boot:run”命令,初次操作maven需要下載插件等待幾分鐘

3.命令行編譯為jar啟動(dòng)
首先命令行在當(dāng)前項(xiàng)目根目錄運(yùn)行編譯命令“mvn install”,之后跳轉(zhuǎn)到當(dāng)前項(xiàng)目的target文件夾下(cd target)多出兩個(gè)文件

接下來在命令行繼續(xù)輸入命令“java -jar 項(xiàng)目的jar名”

最后啟動(dòng)瀏覽器輸入訪問路徑顯示效果

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA發(fā)送HTTP請(qǐng)求的多種方式詳細(xì)總結(jié)
目前做項(xiàng)目中有一個(gè)需求是這樣的,需要通過Java發(fā)送url請(qǐng)求,查看該url是否有效,這時(shí)我們可以通過獲取狀態(tài)碼來判斷,下面這篇文章主要給大家介紹了關(guān)于JAVA發(fā)送HTTP請(qǐng)求的多種方式總結(jié)的相關(guān)資料,需要的朋友可以參考下2023-01-01
安裝多個(gè)版本JDK后使用時(shí)的切換方法總結(jié)
我們平時(shí)在window上做開發(fā)的時(shí)候,可能需要同時(shí)開發(fā)兩個(gè)甚至多個(gè)項(xiàng)目,有時(shí)不同的項(xiàng)目對(duì)JDK的版本要求有區(qū)別,下面這篇文章主要給大家介紹了安裝多個(gè)版本JDK后使用的切換方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01
使用@RequestBody傳對(duì)象參數(shù)時(shí)碰到的坑
這篇文章主要介紹了使用@RequestBody傳對(duì)象參數(shù)時(shí)碰到的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot前端傳遞數(shù)組后端接收兩種常用的方法
這篇文章主要給大家介紹了關(guān)于SpringBoot前端傳遞數(shù)組后端接收兩種常用的方法,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04
使用Spring Boot Maven插件的詳細(xì)方法
這篇文章主要介紹了如何使用Spring Boot Maven插件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
SpringBoot基于數(shù)據(jù)庫(kù)實(shí)現(xiàn)定時(shí)任務(wù)過程解析
這篇文章主要介紹了SpringBoot基于數(shù)據(jù)庫(kù)實(shí)現(xiàn)定時(shí)任務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

