maven批量安装jar到本地maven仓库


maven批量安装jar到本地maven仓库

本文地址:

针对开源仓库没有的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-coreartifactId>
                <version>2.8.11version>
            dependency>