可爱静

记录生活、学习和工作

0%

多模块Springboot项目引入本地JAR包

背景

现有多模块项目,需对接聚水潭开放平台,实现数据交互。

准备好JAR包

我这里用到的是聚水潭的JAVA SDK,下载到本地后建议改名。
JAR包重命名.png

放入项目中

因为是子模块用到了该JAR包,所以我将JAR包放在了子模块目录下。
新建lib目录,将JAR复制进去。
JAR包存放位置.png

修改子模块POM文件,添加依赖

1
2
3
4
5
6
7
<dependency>
<groupId>com.jushuitan</groupId>
<artifactId>jushuitan</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/jushuitan-0.0.1.jar</systemPath>
</dependency>

此时在IDEA里运行项目应该是正常的。
但是打包后运行JAR包,会报错找不到引入本地JAR中的类。

将本地JAR包打入运行包内

在Application启动类所在的模块里,修改POM文件,添加配置。只在此模块配置一次,其他模块不用配置。

1
2
3
4
5
6
7
8
9
10
11
12
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 配置打包包括本地JAR包 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>

刷新Maven,重新打包运行。

题外话

提交代码之前,记得右键该JAR包->Git->Add;因为gitignore文件里会把*.jar给忽略掉。