maven批量安裝jar到本地maven倉庫
本文地址:https://www.cnblogs.com/muphy/p/15977783.html
針對開源倉庫沒有的jar包,或者自己開發的jar包無法從網絡拉取時,可以使用 mvn install:install-file 安裝到本地maven倉庫統一管理。
語法:
mvn install:install-file -Dfile=your-artifact-1.0.jar [-DpomFile=pom.xml] [-Dsources=name-src.jar] [-Djavadoc=name.jar] [-DgroupId=group-id] [-DartifactId=artifact-id] [-Dversion=1.0.0] [-Dpackaging=jar || pom] [-Dclassifier=sources] [-DgeneratePom=true] [-DcreateChecksum=true]
但是像下面這樣特別多的時候就比較麻煩
編譯或者復制到libs目錄(將pom.xml一起復制到libs目錄,名字方便腳本處理就可以,為了減少工作量,有jar的把pom和jar命名一樣,pom以xml結尾,父控文件以pom結尾區分一下),也可以網上下載對應jar包(不需要指定pom,改下命令去掉-DpomFile參數自動生成pom文件)到libs目錄,libs目錄隨便放哪里都行
在libs目錄新建批量安裝的腳本maven-install-libs.bat,腳本內容:
@echo off rem 環境配置 chcp 65001 title "install dependencies" color 3a echo install libs to maven repository echo @copyright by moefon echo usage: https://blog.csdn.net/atec2000/article/details/49992965 echo. rem 定義版本 set version=2.8.11 rem 開啟變量延時 setlocal enabledelayedexpansion set cmd="" set name="" echo 創建臨時批量安裝腳本tmp.bat echo @echo off > tmp.bat echo title "install dependencies">> tmp.bat echo chcp 65001>> tmp.bat echo color 8b>> tmp.bat echo echo install libs to maven repository>> tmp.bat echo echo @copyright by moefon>> tmp.bat echo echo usage: https://blog.csdn.net/atec2000/article/details/49992965>> tmp.bat echo echo.>> tmp.bat echo 處理pom文件,所有pom都會執行,包括有jar的 for %%f in (*.pom) do ( set name=%%f set name=!name:~0,-4! set cmd=cmd /k "mvn install:install-file -DgroupId=com.joolun -DartifactId=!name! -Dversion=%version% -Dpackaging=pom -Dfile=!name!.pom && exit || exit" echo echo !cmd!>> tmp.bat echo !cmd!>> tmp.bat echo echo.>> tmp.bat ) echo 處理jar包 for %%f in (*.jar) do ( set name=%%f set name=!name:~0,-4! set cmd=cmd /k "mvn install:install-file -DgroupId=com.joolun -DartifactId=!name! -Dversion=%version% -Dpackaging=jar -Dfile=!name!.jar -DpomFile=!name!.xml && exit || exit" echo echo !cmd!>> tmp.bat echo !cmd!>> tmp.bat echo echo.>> tmp.bat ) echo 執行臨時安裝腳本tmp.bat timeout 1 cmd /k "tmp.bat && exit || exit" color 3a echo 執行完成,刪除臨時安裝腳本tmp.bat倒計時: timeout 10 del tmp.bat echo install all ok! echo 20秒后退出 timeout 20 || pause
執行期間會創建和刪除臨時文件tmp.bat,內容:
雙擊執行maven-install-libs.bat即可安裝到本地maven倉庫
使用:
<!-- 工具包--> <dependency> <groupId>com.j***</groupId> <artifactId>base-common-core</artifactId> <version>2.8.11</version> </dependency>
錯誤:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.134 s
[INFO] Finished at: 2022-06-08T17:28:04+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (D:\Program Files\instantclient_11_2). Please verify you invoked Maven from the correct directory. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException
處理方法:將每一個參數都加上雙引號
mvn install:install-file "-DgroupId=com.oracle" "-DartifactId=ojdbc14" "-Dversion=10.2.0.4.0" "-Dpackaging=jar" "-Dfile=ojdbc6.jar"