maven批量安裝jar到本地maven倉庫


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"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM