1.項目打包
項目開發結束后,需要打包部署到外部服務器的Tomcat上,主要有幾種方式。
(1)生成jar包
cd 項目跟目錄(和pom.xml同級)
mvn clean package
## 或者執行下面的命令
## 排除測試代碼后進行打包
mvn clean package -Dmaven.test.skip=true
打包完成后jar包會生成到target目錄下,命名一般是 項目名+版本號.jar
啟動jar包命令
java -jar target/spring-boot-scheduler-1.0.0.jar
這種方式,只要控制台關閉,服務就不能訪問了。下面我們使用在后台運行的方式來啟動:
nohup java -jar target/spring-boot-scheduler-1.0.0.jar &
也可以在啟動的時候選擇讀取不同的配置文件
java -jar app.jar --spring.profiles.active=product
也可以通過IDEA的Maven工具生成,點擊Lifecycle-install,生成jar
(2)生成war包
(1)修改打包類型為war:<packaging>war</packaging>
<packaging>war</packaging>
(2)添加spring-boot-starter-tomcat依賴,scope設置為provided
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
(3)注冊啟動類
創建ServletInitializer.java,繼承SpringBootServletInitializer ,覆蓋configure(),把啟動類Application注冊進去。外部web應用服務器構建Web Application Context的時候,會把啟動類添加進去。
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(BootdemoApplication.class); } }
同樣也是兩種方式執行:
(1)mvn clean package -Dmaven.test.skip=true
(2)通過IDEA的Maven工具生成,點擊Lifecycle-package,生成war
2.項目部署
無論是用哪種方式生成,最終都是為了進行部署,war可以直接拷到tomcat的webapps目錄下,啟動Tomcat即可。