当我们进行开发时,如对接第三方应用平台,通常会得到第三方平台提供的jar
包。如果仅仅是添加到路径下,有时又会因为类找不到而运行失败,所以通常我们会将jar
包安装到本地或上传到私有maven
服务器。
jar
包maven
相关信息比如,我们有一个jar
包叫zjfire-sdk-0.01.jar
,一般来说,maven
打包,jar
包内都会有这么一个目录META-INF/maven/...
多说两句,这里的META-INF就是指元数据,maven呢就是maven相关,都是直译,别紧张。
将这两个文件解压出来,我们看到pom.properties
文件如下:
#Generated by Maven
#Fri Jan 14 15:18:21 CST 2022
groupId=com.hikvision
artifactId=zjfire-sdk-0.01
version=1.0-SNAPSHOT
pom.properties
的信息本地安装于是我们依据此信息安装到本地,执行命令:
mvn install:install-file -Dfile=./zjfire-sdk-0.01.jar -DpomFile=./pom.xml -DgroupId=com.hikvision -DartifactId=zjfire-sdk-0.01 -Dversion=1.0-SNAPSHOT -Dpackaging=jar
然后我们就可以看到本地仓库中已经有了此依赖,依赖关系的 pom
文件也在,其实这个文件就是pom.xml
。
我们可以打开它,发现依赖关系是存在的。这样才能正确获得依赖关系,减少类找不到的奇怪错误。
在我们项目中,使用正常的依赖方式进行依赖即可,当然了,要按照我们安装时指定的-DgroupId
、-DartifactId
、-Dversion
。
也就是:
<dependency>
<groupId>com.hikvisiongroupId>
<artifactId>zjfire-sdk-0.01artifactId>
<version>1.0-SNAPSHOTversion>
dependency>
当然了,你也可以按照你的需要去设定-DgroupId
、-DartifactId
、-Dversion
,只要你依赖时保持一致即可。
Maven
插件在打包时自动安装如果我们拥有要使用第三方jar包的开发项目,可以在项目中直接添加Maven
插件指定项目中的文件安装到本地仓库,比如我们安装opencv
的包到本地仓库。
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<