应项目部署需求,需要将springboot 架构的项目打成war包进行部署,部署期间遇到各种问题,经过反编译一些查看以及一些代码审查,把问题解决,下面将主要流程分享一下,避免踩坑
项目内部改造
1、pom文件的修改
a.打包方式指定成war包
<packaging>war</packaging>
b.将spring-boot-starter-web中自带的tomcat进行排除
<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>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
c.引入tomcat依赖,版本需要根据项目情况自行指定
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.104</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
d、build部分,需要指定打包插件以及包地址
<build>
<finalName>${artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<webResources>
<webResource>
<directory>${pom.basedir}/src/main/resources/lib/</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</webResource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
注意:如有外部包插入,比如阿里sdk,需要指定好lib路径,将外部的jar,打入进WEB-INF里面的lib下面
比如
<dependency>
<groupId>com.taobao</groupId>
<artifactId>taobao-sdk-java-auto_20220629</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${pom.basedir}/src/main/resources/lib/taobao-sdk-java-auto.jar</systemPath>
</dependency>
idea tomcat部署
a. 新建一个Tomcat Server服务器

b.指定tomcat包的位置

c.指定部署的war 包

最后选择普通模式或者debug启动即可。
本文详细介绍了如何将一个SpringBoot项目修改为WAR包格式并部署到Tomcat服务器。关键步骤包括修改pom.xml文件,排除Spring Boot自带的Tomcat依赖,引入外部Tomcat和Spring Boot的Tomcat starter,并配置打包插件。此外,还提供了IDEA中配置Tomcat服务器和部署WAR包的步骤。注意处理外部依赖的引用,确保项目能正常运行。
2751

被折叠的 条评论
为什么被折叠?



