遇到了个问题,在这记录一下:
问题: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>