//war包需要在pom配置手动导入本地jar包,以避免本地jar包无法导入问题
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version> 3.0.0</version>
<configuration>
<webResources>
<resource>
<directory>/src/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
springboot自带tomcat 因此如果war包部署到tomcat或者国产东方通等容器时,需要删除自身tomcat。
原生springboot删除方式:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
如果springboot集成如模板引擎或其他组件时,则单独删除,如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
将原本
<packaging>jar</packaging>
改为
<packaging>war</packaging>
在Application启动类中继承SpringBootServletInitializer抽象类重写configure方法已使用外部的Servlet容器
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(Application.class);
}
随后通过maven clean命令清除原有包,通过maven package打包即可
文章转载自白杨S,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




