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"

 

posted @   明月心~  阅读(3457)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示