一、使用內置的tomcat,通過java -jar的方式啟動
比如:java -jar bms.jar
但是這種啟動方式 一旦關閉控制臺 或者crtl+c 退出 此時應用就關閉了
所以我們需要換種方式
springboot中的maven插件,提供了一種很方便的類似于shell的開啟、關閉、重啟服務的操作。而且這種啟動方式是讓項目在后臺運行的,關閉shell也不會使項目停止運行
1、首先,項目的pom添加下面的插件,然后maven install
1
2
3
4
5
6
7
8
9
10
11
|
<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包放入到服務器上,然后執行下面的命令
1
|
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms |
3、上述命令執行完全之后,通過下面的命令就可以啟動、關閉、重啟項目了。
1
2
3
4
5
|
/etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart |
當然,有些人啟動的時候,可能會報下面的一個錯誤,這是權限不足
1
|
-bash: /etc/init.d/bms: permission denied |
執行下面命令就可解決問題
1
2
|
cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms |
二、使用war包方式,通過tomcat啟動
1、修改打包方式
1
|
<packaging>war</packaging> |
2、移除springboot內置tomcat,添加測試tomcat依賴。。修改pom.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<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方法
代碼如下
1
2
3
4
5
6
7
8
9
10
|
/** * 修改啟動類,繼承 springbootservletinitializer 并重寫 configure 方法 */ publicclassspringbootstartapplication extends springbootservletinitializer { @override protectedspringapplicationbuilder configure(springapplicationbuilderbuilder) { // 注意這里要指向原先用main方法執行的application啟動類 returnbuilder.sources(bootstrap. class ); } } |
4、將war包放到服務器上的tomcat下,重啟即可。。。
三、myeclipse啟動
右鍵單擊restfuldemo類->run as->java application
啟動完成
如果看到圖中紅色的提示語,說明項目正常啟動,此時在瀏覽器輸入http://localhost:8080/,就能看到“hello world!”的輸出。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_29992111/article/details/78749469