项目结构
启动类所在pom修改为war包打包方式
<packaging>war</packaging>
父类pom中引入 build内容
<build>
<!--<finalName>shopping-mall</finalName>-->
<plugins>
<!--打war包所需==========================start-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<!--maven打包排除spring-boot内嵌tomcat容器依赖jar-->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--打包后的名称-->
<warName>shopping-mall</warName>
<packagingExcludes>
WEB-INF/lib/tomcat-embed-*.jar,
WEB-INF/lib/spring-boot-starter-tomcat-*.jar
</packagingExcludes>
</configuration>
</plugin>
<!--打war包所需==========================end-->
</build>
启动类型继承SpringBootServletInitializer,重写configure
package com.xxqy.shopping;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
/**
* @Author yww
* @CreateTime 2021-06-10
*/
@SpringBootApplication
public class ShoppingApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(ShoppingApplication.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ShoppingApplication.class);
}
}
去maven父模块下执行package
部署tomcat