使用springboot的jar包能夠以service方式啟動(dòng)
springboot jar包以service啟動(dòng)
場(chǎng)景
打出的jar包用java -jar肯定是可以啟動(dòng)的。 這種方式原生簡(jiǎn)單,但是對(duì)運(yùn)維不友好。
于是要求改造,希望可以用service命令來(lái)啟動(dòng)。
過(guò)程
技術(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ì)受到影響。
建立軟連接,通過(guò)service命令來(lái)啟動(dòng)
命令如下:
# 建立軟連接 ln -s /data/custom-app.jar /etc/init.d/custom-app # 然后就可以用service命令啟動(dòng)了 service custom-app start 發(fā)現(xiàn)并沒(méi)輸出日志,那么怎么是否啟動(dòng)了? 如何看日志? # 這里可以看啟動(dòng)的日志 /var/log/custom-app.log # 查看pid,模板為: /var/run/<appname>/<appname>.pid /var/run/custom-app/custom-app.pid
systemctl配置
因沒(méi)用到,暫略。
最下面的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è)文件
接下來(lái)在命令行繼續(xù)輸入命令“java -jar 項(xiàng)目的jar名”
最后啟動(dòng)瀏覽器輸入訪(fǎng)問(wèn)路徑顯示效果
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- springboot通過(guò)jar包啟動(dòng)中文日志亂碼問(wèn)題及解決
- 解決spring-boot 打成jar包后 啟動(dòng)時(shí)指定參數(shù)無(wú)效的問(wèn)題
- SpringBoot項(xiàng)目運(yùn)行jar包啟動(dòng)的步驟流程解析
- Linux編輯啟動(dòng)、停止與重啟springboot jar包腳本實(shí)例
- Spring Boot項(xiàng)目中jar包在服務(wù)器上啟動(dòng)的正確姿勢(shì)
- Linux將Spring Boot項(xiàng)目的Jar包注冊(cè)為開(kāi)機(jī)自啟動(dòng)系統(tǒng)服務(wù)的操作方法
相關(guān)文章
Java中的Map接口實(shí)現(xiàn)類(lèi)HashMap和LinkedHashMap詳解
這篇文章主要介紹了Java中的Map接口實(shí)現(xiàn)類(lèi)HashMap和LinkedHashMap詳解,我們常會(huì)看到這樣的一種集合,IP地址與主機(jī)名,等,這種一一對(duì)應(yīng)的關(guān)系,就叫做映射,Java提供了專(zhuān)門(mén)的集合類(lèi)用來(lái)存放這種對(duì)象關(guān)系的對(duì)象,需要的朋友可以參考下2024-01-01Java面試之限流的實(shí)現(xiàn)方式小結(jié)
限流是指在各種應(yīng)用場(chǎng)景中,通過(guò)技術(shù)和策略手段對(duì)數(shù)據(jù)流量、請(qǐng)求頻率或資源消耗進(jìn)行有計(jì)劃的限制,本文為大家整理了常見(jiàn)的限流的實(shí)現(xiàn)方式,有需要的可以參考下2024-02-02Spring Boot + thymeleaf 實(shí)現(xiàn)文件上傳下載功能
最近同事問(wèn)我有沒(méi)有有關(guān)于技術(shù)的電子書(shū),我打開(kāi)電腦上的小書(shū)庫(kù),但是郵件發(fā)給他太大了,公司又禁止用文件夾共享,于是花半天時(shí)間寫(xiě)了個(gè)小的文件上傳程序,部署在自己的Linux機(jī)器上,需要的朋友可以參考下2018-01-01MyBatis-Puls插入或修改時(shí)某些字段自動(dòng)填充操作示例
這篇文章主要為大家介紹了MyBatis-Puls插入或修改時(shí)某些字段自動(dòng)填充操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Java 將Excel轉(zhuǎn)為OFD格式(方法步驟)
OFD是一種開(kāi)放版式文檔是我國(guó)國(guó)家版式文檔格式標(biāo)準(zhǔn),本文通過(guò)Java后端程序代碼展示如何將Excel轉(zhuǎn)為OFD格式,分步驟給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2021-12-12Java使用Collections.sort對(duì)中文進(jìn)行排序方式
這篇文章主要介紹了Java使用Collections.sort對(duì)中文進(jìn)行排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java操作Elasticsearch?rest-high-level-client?的基本使用
這篇文章主要介紹了Java操作Elasticsearch?rest-high-level-client?的基本使用,本篇主要講解一下?rest-high-level-client?去操作?Elasticsearch的方法,結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10SpringMVC中Model與Session的區(qū)別說(shuō)明
這篇文章主要介紹了SpringMVC中Model與Session的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12