暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

springboot war包注意事项

白杨S 2021-03-08
941

//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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论