在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:\Users\huangmin\Downloads\taobao-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\repository\wuroc\coursera\1.0.0\coursera-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文件的絕對路徑。個人建議使用第一種方式。