在实际项目中我们非常推荐使用MAVEN或者GRADLE进行项目构建、源码编译及依赖管理,但是在实际的工作中会遇到部分JAR包,在MAVEN仓库中没有,这种情况下就不能直接通过POM进行依赖的引入,那应该怎么办呢?
groupid和artifactId都统称为“坐标”,是为了保证项目的唯一性而提出的,如果把项目安装到MAVEN仓库中以后,要想找到这个项目就必须根据这两个ID去查找。
groupId是项目组织唯一的标识符,实际应该对应JAVA包的目录结构,是MAIN目录里JAVA的目录结构;
artifactId是项目唯一的标识符,也就是实际项目的名称。
// ①. 将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>
<dependency>
<groupId>com.aspose.rocky</groupId>
<artifactId>aspose-words-rocky</artifactId>
<version>15.8.0</version>
</dependency>
参数 | 说明 |
---|---|
-Dfile=./aspose-words-15.8.0-jdk16.jar | 待安装JAR包的路径,可以是相对路径也可以是绝对路径 |
-DgroupId=com.aspose.rocky | 设置groupId的名称,可以自定义,需要和POM的 |
-DartifactId=aspose-words-rocky | 设置该包artifactId的名称,可以自定义,需要和POM的 |
-Dversion=15.8.0 | 设置JAR包的版本,可以自定义,需要和POM的 |
-Dpackaging=jar | 设置JAR包的类型,如:pom、jar、war、maven-plugin,常用的是jar |
和src同级创建lib目录,将aspose-words-15.8.0-jdk16.jar放到lib目录下
// 其中 、和标签的内容可以应该按实际情况填写,但是也可以随便填写
<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.
// 将 ${project.basedir}/lib/aspose-words-rocky-15.8.0.jar 修改为:${pom.basedir}/lib/aspose-words-rocky-15.8.0.jar 则警告消失。