SpringBoot - 在IDEA中如何引入本地JAR包?

当Maven仓库找不到所需的JAR包时,可以通过两种方式解决。一种是将JAR包安装到本地仓库,使用`mvn install:install-file`命令,并指定`groupId`, `artifactId`, `version`和`packaging`。另一种是直接在POM中引用本地文件,放入lib目录下,使用`systemPath`属性并确保路径正确。注意,使用`systemPath`可能存在稳定性风险,不推荐长期使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

在实际项目中我们非常推荐使用MAVEN或者GRADLE进行项目构建、源码编译及依赖管理,但是在实际的工作中会遇到部分JAR包,在MAVEN仓库中没有,这种情况下就不能直接通过POM进行依赖的引入,那应该怎么办呢?

名称解释

groupid和artifactId都统称为“坐标”,是为了保证项目的唯一性而提出的,如果把项目安装到MAVEN仓库中以后,要想找到这个项目就必须根据这两个ID去查找。
groupId是项目组织唯一的标识符,实际应该对应JAVA包的目录结构,是MAIN目录里JAVA的目录结构;
artifactId是项目唯一的标识符,也就是实际项目的名称。

解决方案

方案一:将JAR包安装到本地仓库
1. 执行安装命令:
// ①. 将aspose-words-15.8.0-jdk16.jar复制到当前目录
// ②. 在当前目录下执行MVN INSTALL命令,groupId、artifactId和version需要根据实际情况进行指定,
//    当然如果随意指定也没有问题,只是需要在POM文件中使用指定的坐标。
mvn install:install-file -Dfile=./aspose-words-15.8.0-jdk16.jar -DgroupId=com.aspose.rocky 
-DartifactId=aspose-words-rocky -Dversion=15.8.0 -Dpackaging=jar
// ③. 如何使用
<dependency>
    <groupId>com.aspose.rocky</groupId>
    <artifactId>aspose-words-rocky</artifactId>
    <version>15.8.0</version>
</dependency>
2. POM中添加依赖:
<dependency>
    <groupId>com.aspose.rocky</groupId>
    <artifactId>aspose-words-rocky</artifactId>
    <version>15.8.0</version>
</dependency>
3. 参数说明:
参数说明
-Dfile=./aspose-words-15.8.0-jdk16.jar待安装JAR包的路径,可以是相对路径也可以是绝对路径
-DgroupId=com.aspose.rocky设置groupId的名称,可以自定义,需要和POM的<groupId>保持一致
-DartifactId=aspose-words-rocky设置该包artifactId的名称,可以自定义,需要和POM的<artifactId>保持一致
-Dversion=15.8.0设置JAR包的版本,可以自定义,需要和POM的<version>保持一致
-Dpackaging=jar设置JAR包的类型,如:pom、jar、war、maven-plugin,常用的是jar
方案二:引用本地文件
1. 创建lib文件夹:

和src同级创建lib目录,将aspose-words-15.8.0-jdk16.jar放到lib目录下

2. POM中添加依赖:
// 其中 <groupId>、<artifactId>和<version>标签的内容可以应该按实际情况填写,但是也可以随便填写
<dependency>
    <groupId>com.aspose.rocky.lib</groupId>
    <artifactId>aspose-words-rocky-lib</artifactId>
    <version>17.8.0</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/lib/aspose-words-rocky-15.8.0.jar</systemPath>
</dependency>

常见问题:

[WARNING] Some problems were encountered while building the effective model for com.tiantu:dl-erms:jar:1.0-SNAPSHOT
[WARNING] 'dependencies.dependency.systemPath' for com.aspose.rocky.lib:aspose-words-rocky-lib:jar should not point at files within the project directory, ${project.basedir}/lib/aspose-words-rocky-15.8.0.jar will be unresolvable by dependent projects @ line 193, column 25
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.

// 将 <systemPath>${project.basedir}/lib/aspose-words-rocky-15.8.0.jar</systemPath> 修改为:<systemPath>${pom.basedir}/lib/aspose-words-rocky-15.8.0.jar</systemPath> 则警告消失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值