SpringBoot的web專案啟動方式
第一種(本地開發使用)
在專案的根目錄下有一個帶有main函式的Application類,可以直接執行這個main函式。(使用的是SpringBoot內建的tomcat)
第二種(本地開發使用)
在pom檔案中配置使用啟動SpringBoot的maven外掛。配置如下
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
啟動的使用可以使用mvn spring-boot:run啟動,我用的是IDEA的maven外掛
第三種(線上部署使用)
使用maven工具打包(jar包),打包時要注意,由於模組與模組之間的依賴關係,所以打包是要有順序的,需要先打被依賴的模組;你也可以在父類模組上打一個包。我用的是IDEA工具開發。打包流程先開啟打包跳過測試,然後分別執行clean和install
還可以通過命令打包,先點選上圖中帶有小m的按鈕。要注意是否是選中的要打包的專案
打完包在你的專案用的target目錄下會有個一jar檔案
上傳到伺服器,然後執行java -jar命令啟動,你也可以在命令中加上JVM的優化引數和一些環境引數。我下面這個就加了環境引數,你也可以從這裡指定你啟動時的配置檔案,和指定日誌輸出檔案(需要特別注意:一定要在命令的最後加一個&符號,要不然,你Ctrl+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包放入到伺服器上,然後執行下面的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms
前面是你伺服器上jar包路徑,後面是你啟動專案的名字
3、上述命令執行完全之後,通過下面的命令就可以啟動、關閉、重啟專案了
/etc/init.d/bms start
/etc/init.d/bms stop
/etc/init.d/bms restart
第五種方式(線上部署,使用外部Tomcat)
首先修改打包方式
<packaging>war</packaging>
2、移除springboot內建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方法執行的Application啟動類
returnbuilder.sources(BootStrap.class);
}
}
4、將war包放到伺服器上的tomcat下,重啟即可。。。