如何导入第三方sdk | 引入第三方jar 包
- 0. 背景
- 1. 上传私有仓库
- 2. 使用本地文件系统
0. 背景
对接一些第三方功能,会拿到第三方的sdk,也就是jar包,如何导入呢
1. 上传私有仓库
- 最好的方式就是将第三方jar包,上传到私有的仓库,这样直接正常在pom引用即可
- 如果只是本地开发,可以将本地jar加载到本地mvn仓库,执行如下命令
mvn install:install-file -Dfile=./xxx-1.0.0.jar -DgroupId=cn.xxx.xxx -DartifactId=xxx -Dversion=1.0.0 -Dpackaging=jar
- 即可引入对应groupId、artifactId、version的依赖
- 如果要部署环境,则不行,但可以使用本地文件系统来处理
2. 使用本地文件系统
- 在pom的<dependency>中,
- 使用
<scope>system</scope>
- 表示依赖来自本地文件系统,而非 Maven 仓库
- systemPath指定本地jar包路径,建议放在项目中,如
<systemPath>${project.basedir}/lib/A.jar</systemPath>
<dependency>
<groupId>com.example</groupId> <!-- 自定义组ID -->
<artifactId>A</artifactId> <!-- 自定义构件ID -->
<version>1.0.0</version> <!-- 自定义版本号 -->
<scope>system</scope> <!-- 指定作用域为 system -->
<systemPath>${project.basedir}/lib/A.jar</systemPath> <!-- 指定本地路径 -->
</dependency>
<!--指定使用maven打包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springBoot.version}</version>
<configuration>
<mainClass>com.example.MybatisExampleApplication</mainClass>
<!--设置为true,以便把本地的system的jar也包括进来-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</build>
- groupId、artifactId、version都是自定义的,随便都行
- 需要注意,system作于的依赖作用域的依赖不会随项目打包,可以通过mvn插件
spring-boot-maven-plugin
的<includeSystemScope>true</includeSystemScope>
配置解决