1.修改pom.xml打包方式以及包名相關信息
<!--打包方式-->
<packaging>war</packaging>
<build>
<!--buil下添加包名-->
<finalName>ProjectName</finalName>
</build>
2.修改spring boot啓動類的啓動方式
啓動類需要繼承SpringBootServletInitializer ,並重寫其configure方法,如下:
package com.yang.mb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableTransactionManagement
public class MbApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MbApplication.class, args);
}
/**
* 需要把web項目打成war包部署到外部tomcat運行時需要改變啓動方式
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MbApplication.class);
}
}
3.使用maven工具打包
打開idea右側maven工作欄,雙擊package,打包完成後會將war輸出到target目錄下
4.war包部署
將war拷貝到tomcat的webapps目錄下,重啓tomcat,tomcat會自動解壓並部署。
5.啓動時
當tomcat部署多個spring boot 應用時啓動可能會報
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean
需要加上項目的標識,分別在項目的配置文件application.properties文件添加:
#添加項目標識,保證每個項目唯一
spring.jmx.default-domain=
然後重啓tomcat即可。