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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能