引文:
当我们需要对接第三方平台接口,或者网络连接传输等业务时,当我们需要使用他们提供的sdk时,我们的项目就需要引入sdk,sdk就是打好的jar包
实战演示:
淘宝的sdk
pom依赖调整:
<dependency>
<groupId>com.taobao</groupId>
<artifactId>taobao-sdk-1.0-SNAPSHOT</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<!-- 使用 project.basedir mvn编译打包会出现警告 -->
<!-- <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1600678017147-20210401.jar</systemPath>-->
<!-- 使用 pom.basedir mvn编译打包 不会出现警告 -->
<systemPath>${pom.basedir}/lib/taobao-sdk-java-auto_1600678017147-20210401.jar</systemPath>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 必须指定 includeSystemScope 为true,不然自定义的jar包不会打包到jar中 -->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
常见问题:
1.自定义jar包不会打包到jar中,运行出现xxxx.class不存在:
解决方式:
增加配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 必须指定 includeSystemScope 为true,不然自定义的jar包不会打包到jar中 -->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
2.打包出现警告:
例如:
'dependencies.dependency.systemPath' for com.taobao:taobao-sdk-1.0-SNAPSHOT:jar should not point at files within the project directory, ${project.basedir}/lib/taobao-sdk-java-auto_1600678017147-20210401.jar will be unresolvable by dependent projects @ line 37, column 37
It is highly recommended to fix these problems because they threaten the stability of your build.
For this reason, future Maven versions might no longer support building such malformed projects.
解决方式
调整配置:
<dependency>
<groupId>com.taobao</groupId>
<artifactId>taobao-sdk-1.0-SNAPSHOT</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<!-- 使用 project.basedir mvn编译打包会出现警告 -->
<!-- <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1600678017147-20210401.jar</systemPath>-->
<!-- 使用 pom.basedir mvn编译打包 不会出现警告 -->
<systemPath>${pom.basedir}/lib/taobao-sdk-java-auto_1600678017147-20210401.jar</systemPath>
</dependency>