您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)spring cloud 打成jar包如何在Windows或者Linux上運(yùn)行,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
整理一下關(guān)于Spring Boot后臺運(yùn)行的一些配置方式。在介紹后臺運(yùn)行配置之前,我們先回顧一下Spring Boot應(yīng)用的幾種運(yùn)行方式
1:運(yùn)行Spring Boot的應(yīng)用主類
2:使用Maven的Spring Boot插件mvn spring-boot:run來運(yùn)行
3:打成jar包后,使用java -jar運(yùn)行
我們在開發(fā)的時(shí)候,通常會使用前兩種,而在部署的時(shí)候往往會使用第三種。但是,我們在使用java -jar來運(yùn)行的時(shí)候,并非后臺運(yùn)行。下面我們分別針對Windows和Linux/Unix兩種環(huán)境,整理一下如何配置后臺運(yùn)行的方法。
Windows
Windows下比較簡單,我們可以直接使用這款軟件:AlwaysUp。如下圖所示,簡單、暴力、好用。
配置方式很簡單,我們只需要把Spring Boot應(yīng)用通過mvn install打成jar包,然后編寫一個(gè)java -jar yourapp.jar的bat文件。再打開AlwaysUp,點(diǎn)擊工具欄的第一個(gè)按鈕,如下圖所示,選擇上面編寫的bat文件,并填寫服務(wù)名稱。
完成了創(chuàng)建之后,在列表中可以看到我們配置的服務(wù),通過右鍵選擇Start xxx就能在后臺將該應(yīng)用啟動起來了
Linux/Unix
下面我們來說說服務(wù)器上該如何來配置。實(shí)際上,實(shí)現(xiàn)的方法有很多種,這里就列兩種還比較好用的方式:
nohup和Shell
該方法主要通過使用nohup命令來實(shí)現(xiàn),該命令的詳細(xì)介紹如下:
nohup 命令
用途:不掛斷地運(yùn)行命令。
語法:nohup Command [ Arg … ][ & ] 描述:nohup 命令運(yùn)行由 Command 參數(shù)和任何相關(guān)的 Arg 參數(shù)指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷后使用 nohup 命令運(yùn)行后臺中的程序。要運(yùn)行后臺中的 nohup 命令,添加 &到命令的尾部。
所以,我們只需要使用nohup java -jar yourapp.jar &命令,就能讓yourapp.jar在后臺運(yùn)行了。
但是,為了方便管理,我們還可以通過Shell來編寫一些用于啟動應(yīng)用的腳本,
比如下面幾個(gè):
關(guān)閉應(yīng)用的腳本:stop.sh
{
#!/bin/bash
PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
}
啟動應(yīng)用的腳本:start.sh
{
#!/bin/bash
nohup java -jar yourapp.jar --server.port=8888 &
}
整合了關(guān)閉和啟動的腳本:run.sh,由于會先執(zhí)行關(guān)閉應(yīng)用,然后再啟動應(yīng)用,這樣不會引起端口沖突等問題,適合在持續(xù)集成系統(tǒng)中進(jìn)行反復(fù)調(diào)用
{
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh
}
系統(tǒng)服務(wù)
在Spring Boot的Maven插件中,還提供了構(gòu)建完整可執(zhí)行程序的功能,什么意思呢?就是說,我們可以不用java -jar,而是直接運(yùn)行jar來執(zhí)行程序。這樣我們就可以方便的將其創(chuàng)建成系統(tǒng)服務(wù)在后臺運(yùn)行了。主要步驟如下:
在pom.xml中添加Spring Boot的插件,并注意設(shè)置executable配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
完成上述配置后,使用mvn install進(jìn)行打包,構(gòu)建一個(gè)可執(zhí)行的jar包
創(chuàng)建軟連接到/etc/init.d/目錄下
sudo ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
在完成軟連接創(chuàng)建之后,我們就可以通過如下命令對yourapp.jar應(yīng)用來控制啟動、停止、重啟操作了
/etc/init.d/yourapp start|stop|restart
關(guān)于“spring cloud 打成jar包如何在Windows或者Linux上運(yùn)行”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。