在Maven中,使用第三方库一般是通过pom.xml文件中定义的dependency从远程repository中下载该库。但是如果库文件是公司内部的库,或者在本地而不能通过远程repository下载,这种情况下,有两种方法可以满足需求 (以钉钉小程序SDK为例)。
方法一:
将本地的jar文件安装到本地repository中,具体步骤如下:
1、下载钉钉要用到的jar包,如我这里的 taobao-sdk-java-auto_1479188381469-20191231.jar、taobao-sdk-java-auto_1479188381469-20191231-source.jar
2、使用如下命令安装jar文件
mvn install:install-file -Dfile=C:UsershuangminDownloads aobao-sdk-java-auto_1479188381469-20191231.jar
-DgroupId=org.taobao.dingtalk -DartifactId=dingtalk_1479188381469 -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
<!--mvn install:install-file -Dfile=D:apache-maven-3.6.3 epositorywuroccoursera1.0.0coursera-1.0.0.jar -DgroupId=wuroc -DartifactId=coursera -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true -->
其中,-Dfile制定jar文件的位置。执行完该命令后,会在本地repository中出现一个目录(org/taobao/dingtalk),在其下会有一个dingtalk_1479188381469-1.0.jar的文件和一个自动产生的pom文件。
3、安装完之后,在另一个应用程序中使用它的时候,只要在pom文件中指定相应的dependency就可以,如:
<dependencies>
<dependency>
<groupId>org.taobao.dingtalk</groupId>
<artifactId>dingtalk_1479188381469</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
方法二:
该方法与前面的方法不同之处在于它不会安装任何库文件,只是在应用程序中的pom文件中指定jar文件的目录
即可,在pom中的dependency中如下设置:
<dependencies>
<dependency>
<groupId>org.taobao.dingtalk</groupId>
<artifactId>dingtalk_1479188381469</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>/home/root/taobao-sdk-java-auto_1479188381469-20191231.jar</systemPath>
</dependency>
</dependencies>
其中的scope被设置成system,默认是compile,指出dependency不是去repository中查找,而是在系统目录
中查找。systemPath指定了jar文件的绝对路径。个人建议使用第一种方式。