springboot在服務(wù)器上的幾種啟動(dòng)方式(小結(jié))
一、使用內(nèi)置的tomcat,通過java -jar的方式啟動(dòng)
比如:java -jar bms.jar
但是這種啟動(dòng)方式 一旦關(guān)閉控制臺(tái) 或者crtl+c 退出 此時(shí)應(yīng)用就關(guān)閉了
所以我們需要換種方式
springboot中的maven插件,提供了一種很方便的類似于shell的開啟、關(guān)閉、重啟服務(wù)的操作。而且這種啟動(dòng)方式是讓項(xiàng)目在后臺(tái)運(yùn)行的,關(guān)閉shell也不會(huì)使項(xiàng)目停止運(yùn)行
1、首先,項(xiàng)目的pom添加下面的插件,然后maven install
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins> </build>
2、將打包好的springboot jar包放入到服務(wù)器上,然后執(zhí)行下面的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms
3、上述命令執(zhí)行完全之后,通過下面的命令就可以啟動(dòng)、關(guān)閉、重啟項(xiàng)目了。
/etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart
當(dāng)然,有些人啟動(dòng)的時(shí)候,可能會(huì)報(bào)下面的一個(gè)錯(cuò)誤,這是權(quán)限不足
-bash: /etc/init.d/bms: Permission denied
執(zhí)行下面命令就可解決問題
cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms
二、使用war包方式,通過tomcat啟動(dòng)
1、修改打包方式
<packaging>war</packaging>
2、移除springboot內(nèi)置tomcat,添加測(cè)試tomcat依賴。。修改pom.xml文件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 打包的時(shí)候以war包形式,這里要把springboot集成的tomcat去除 --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 項(xiàng)目測(cè)試需要 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3、修改啟動(dòng)類,
在application的同目錄下,添加一個(gè)新的類,繼承SpringBootServletInitializer并重寫其configure方法
代碼如下
/** * 修改啟動(dòng)類,繼承 SpringBootServletInitializer 并重寫 configure 方法 */ publicclassSpringBootStartApplication extends SpringBootServletInitializer { @Override protectedSpringApplicationBuilder configure(SpringApplicationBuilderbuilder) { // 注意這里要指向原先用main方法執(zhí)行的Application啟動(dòng)類 returnbuilder.sources(BootStrap.class); } }
4、將war包放到服務(wù)器上的tomcat下,重啟即可。。。
三、MyEclipse啟動(dòng)
右鍵單擊RestfulDemo類->Run As->Java Application
啟動(dòng)完成
如果看到圖中紅色的提示語,說明項(xiàng)目正常啟動(dòng),此時(shí)在瀏覽器輸入http://localhost:8080/,就能看到“Hello World!”的輸出。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決java讀取EXCEL數(shù)據(jù)變成科學(xué)計(jì)數(shù)法的問題
這篇文章主要介紹了解決java讀取EXCEL數(shù)據(jù)變成科學(xué)計(jì)數(shù)法的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04基于RabbitMQ的簡(jiǎn)單應(yīng)用(詳解)
下面小編就為大家分享一篇基于RabbitMQ的簡(jiǎn)單應(yīng)用(詳解),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-11-11SpringBoot通過@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)及單線程運(yùn)行問題解決
Scheduled定時(shí)任務(wù)是Spring boot自身提供的功能,所以不需要引入Maven依賴包,下面這篇文章主要給大家介紹了關(guān)于SpringBoot通過@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)以及問題解決的相關(guān)資料,需要的朋友可以參考下2023-02-02springboot整合rocketmq實(shí)現(xiàn)分布式事務(wù)
大多數(shù)情況下很多公司是使用消息隊(duì)列的方式實(shí)現(xiàn)分布式事務(wù)。 本篇文章重點(diǎn)講解springboot環(huán)境下整合rocketmq實(shí)現(xiàn)分布式事務(wù),感興趣的可以了解一下2021-05-05Java基礎(chǔ)之final關(guān)鍵字作用案例
這篇文章主要介紹了Java基礎(chǔ)之final關(guān)鍵字作用案例,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07Java利用redis zset實(shí)現(xiàn)延時(shí)任務(wù)詳解
zset作為redis的有序集合數(shù)據(jù)結(jié)構(gòu)存在,排序的依據(jù)就是score。本文就將利用zset score這個(gè)排序的這個(gè)特性,來實(shí)現(xiàn)延時(shí)任務(wù),感興趣的可以了解一下2022-08-08