遇到了个问题,在这记录一下:
问题:springboot项目,引用了几个阿里的jar包,本来是打成jar包启动没有问题,后来因情况改成部署tomcat,遇到了个问题,本地idea启动没问题,打成war包部署tomcat启动失败,找不到引用的jar包。
解决思路:
1。springboot项目启动,通常需要生命tomcat的启动范围
2.外部jar包引用方式
我这里是直接放在项目里

这样需要在pom文件里添加依赖,并注明打包时把引用的jar包一起打包
<dependency>
<groupId>com.taobao.sdk</groupId>
<artifactId>taobao-designstyle-sdk</artifactId>
<version>2021.09.13</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-daily_bg_type_111832-20210913.jar</systemPath>
</dependency>
<dependency>
<groupId>com.taobao.sdk</groupId>
<artifactId>taobao-sdk-java-auto</artifactId>
<version>2021.09.13</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1649236166325-20220406.jar</systemPath>
</dependency>
<dependency>
<groupId>com.taobao.sdk</groupId>
<artifactId>taobao-sdk-java-auto-source</artifactId>
<version>2021.09.13</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1649236166325-20220406-source.jar</systemPath>
</dependency>
-
-
-
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
但是问题还是出现了,tomcat里的lib里,没有引用的jar包,反而新生成lib-provided的文件夹里有


3.结局办法
引用maven打包插件,将指定文件下的文件打包入lib中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
本文讲述了作者在将SpringBoot项目迁移到Tomcat部署时遇到的问题,涉及系统路径依赖和如何正确打包外部jar包。作者提供了配置pom.xml和maven-war-plugin的方法,以确保在war包中包含所需jar资源。

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



