springboot在服務器上的幾種啟動方式(小結(jié))
一、使用內(nèi)置的tomcat,通過java -jar的方式啟動
比如:java -jar bms.jar
但是這種啟動方式 一旦關閉控制臺 或者crtl+c 退出 此時應用就關閉了
所以我們需要換種方式
springboot中的maven插件,提供了一種很方便的類似于shell的開啟、關閉、重啟服務的操作。而且這種啟動方式是讓項目在后臺運行的,關閉shell也不會使項目停止運行
1、首先,項目的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包放入到服務器上,然后執(zhí)行下面的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms

3、上述命令執(zhí)行完全之后,通過下面的命令就可以啟動、關閉、重啟項目了。
/etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart
當然,有些人啟動的時候,可能會報下面的一個錯誤,這是權限不足
-bash: /etc/init.d/bms: Permission denied
執(zhí)行下面命令就可解決問題
cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms
二、使用war包方式,通過tomcat啟動
1、修改打包方式
<packaging>war</packaging>
2、移除springboot內(nèi)置tomcat,添加測試tomcat依賴。。修改pom.xml文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 打包的時候以war包形式,這里要把springboot集成的tomcat去除 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 項目測試需要 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3、修改啟動類,
在application的同目錄下,添加一個新的類,繼承SpringBootServletInitializer并重寫其configure方法
代碼如下
/**
* 修改啟動類,繼承 SpringBootServletInitializer 并重寫 configure 方法
*/
publicclassSpringBootStartApplication extends SpringBootServletInitializer {
@Override
protectedSpringApplicationBuilder configure(SpringApplicationBuilderbuilder) {
// 注意這里要指向原先用main方法執(zhí)行的Application啟動類
returnbuilder.sources(BootStrap.class);
}
}
4、將war包放到服務器上的tomcat下,重啟即可。。。
三、MyEclipse啟動
右鍵單擊RestfulDemo類->Run As->Java Application

啟動完成
如果看到圖中紅色的提示語,說明項目正常啟動,此時在瀏覽器輸入http://localhost:8080/,就能看到“Hello World!”的輸出。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解決java讀取EXCEL數(shù)據(jù)變成科學計數(shù)法的問題
這篇文章主要介紹了解決java讀取EXCEL數(shù)據(jù)變成科學計數(shù)法的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
SpringBoot通過@Scheduled實現(xiàn)定時任務及單線程運行問題解決
Scheduled定時任務是Spring boot自身提供的功能,所以不需要引入Maven依賴包,下面這篇文章主要給大家介紹了關于SpringBoot通過@Scheduled實現(xiàn)定時任務以及問題解決的相關資料,需要的朋友可以參考下2023-02-02
springboot整合rocketmq實現(xiàn)分布式事務
大多數(shù)情況下很多公司是使用消息隊列的方式實現(xiàn)分布式事務。 本篇文章重點講解springboot環(huán)境下整合rocketmq實現(xiàn)分布式事務,感興趣的可以了解一下2021-05-05
Java利用redis zset實現(xiàn)延時任務詳解
zset作為redis的有序集合數(shù)據(jù)結(jié)構(gòu)存在,排序的依據(jù)就是score。本文就將利用zset score這個排序的這個特性,來實現(xiàn)延時任務,感興趣的可以了解一下2022-08-08

