idea使用maven将spring boot项目打成war包并部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013934408/article/details/83827175

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

猜你喜欢

转载自blog.csdn.net/u013934408/article/details/83827175