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即可。