写在前面
在实际项目中我们非常推荐使用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>
1
2
3
4
5
6
7
8
9
10
11
2. POM中添加依赖:
<dependency>
<groupId>com.aspose.rocky</groupId>
<artifactId>aspose-words-rocky</artifactId>
<version>15.8.0</version>
</dependency>
1
2
3
4
5
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>
1
2
3
4
5
6
7
8
常见问题:
[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> 则警告消失。
1
2
3
4
5
6
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为CSDN博主「cloneme01」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/goodjava2007/article/details/125618904