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

b.指定tomcat包的位置

c.指定部署的war 包

最后选择普通模式或者debug启动即可。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
