maven有兩種文件解析和分配策略,也就是我們常說的artifacts(依賴).
- 第一種是本地倉庫,這是你緩存在本地的依賴.默認在${user.home}/.m2/repository目錄下;當maven運行時,首先也會來本地倉庫中所需的依賴包;
- 第二種是遠程倉庫,當本地沒有找到時,會去遠程倉庫中查找.遠程倉庫通常在你maven的settings.xml配置;
但是實際開發中,可能存在引入自定義或者第三方jar包,這些包在本地倉庫和遠程倉庫都沒有,這樣會造成依賴失敗.maven通過maven-install-plugin插件可以將第三方依賴jar發布到你的本地倉庫,以項目依賴缺失的問題.
- 將jar安裝到本地倉庫:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
示例:
mvn install:install-file -Dfile=D:\temp\expertSyncSdk-1.0.0.jar -DgroupId=com.zzlh.expert -DartifactId=expertSyncSdk -Dversion=1.0.0 -Dpackaging=jar
- 將pom文件安裝到本地倉庫
mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
- 如果使用maven-install-plugin的2.5版本,當你的jar是通過maven構建時,它會默認讀取META-INF目錄下的pom.xml,可以執行以下命令進行發布到本地倉庫:
mvn install:install-file -Dfile=<path-to-file>