一、问题描述
如何将本地依赖的jar包也打包到jar里,如下图所示,在项目里依赖了taobao,pdd的sdk,通过本地的方式引入到项目里:
<!-- 淘宝客SDK-->
<dependency>
<groupId>taobao</groupId>
<artifactId>taobao</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${
pom.basedir}/lib/taobao-sdk.jar</systemPath>
</dependency>
<!-- 拼多多SDK -->
<dependency>
<groupId>pop</groupId>
<artifactId>pop</artifactId>
<version>1.11.5</version>
<scope>system</scope>
<!-- <systemPath>${
project.basedir}/lib/pop-sdk-1.11.5-all.jar</systemPath>-->
<systemPath>${
pom.basedir}/lib/pop-sdk-1.11.5-all.jar</systemPath>
</dependency>
二、解决方法
看你要打成什么jar包,如果是springboot项目,打包成可运行的jar,做如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
includeSystemScope设置成true,即可,如果是打包成普通的jar包,配置如下:
<resources>
<resource>
<!--本地jar的目录-->
<directory>lib</directory>
<!--打包时,目标jar存放位置-->
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
打成的jar包时,会将本地的jar包打到BOOT-INF/lib/目录里。