本地jar包上传远程私有仓库
1、Maven环境准备
下载maven安装包,解压后配置好path环境变量。具体配置请参考百度
注意一般maven仓库有两个目录可以上传
/maven-snapshots/ 和 /maven-releases/
一般快照(也就是jar的后缀名为snapshots)只能上传到/maven-snapshots/
其他后缀名 传到 /maven-releases/
2、配置Maven的settings.xml
在maven安装目录找到conf/settings.xml,在settings标签下配置以下内容
settings.xml需要放置在~/.m2/settings.xml( ~代表操作系统用户的家目录,windows下类似C:\Users\XXX )默认会读取这个目录的setting
<!-- 在settings标签下配置以下内容 -->
<servers>
<server>
<!--repositoryId,上传SNAPSHOT jar时需要指定此id -->
<id>nexus-snapshot</id>
<!--nexus 账号密码 -->
<username>admin</username>
<password>admin123</password>
</server>
</servers>
3、上传Nexus3 本地jar和pom.xml
用管理员权限打开cmd命令窗口,cd到在第三方jar包所在目录下,输入以下命令(如果打开的时powershell ,键入cmd字符回车切换到cmd命令下执行脚本)
3.1 上传jar包和pom文件命令
mvn deploy:deploy-file
-DgroupId=com.cloud.infinite
-DartifactId=base-exp
-Dversion=1.3.2-SNAPSHOT
-Dpackaging=jar
-Dfile=base-exp-1.3.2-SNAPSHOT.jar
-DpomFile=base-exp-1.3.2-SNAPSHOT.pom
-Durl=http://192.168.1.189:8081/repository/maven-snapshots/
-DrepositoryId=nexus-snapshot -X
有时候只需要上传pom文件(如maven父工程),使用以下命令即可
mvn deploy:deploy-file
-DgroupId=com.cloud.infinite
-DartifactId=base-plugin
-Dversion=1.3.2-SNAPSHOT
-Dpackaging=pom
-Dfile=base-plugin-1.3.2-SNAPSHOT.pom
-Durl=http://192.168.1.189:8081/repository/maven-snapshots/
-DrepositoryId=nexus-snapshot -X
3.2 命令参数简介
-DgroupId=com.aaa //com.aaa为要上传的jar包groupId
-Dversion=0.0.1-SNAPSHOT //0.0.1-SNAPSHOT为要上传的jar包版本号
-Dpackaging=jar //上传文件类型,pom或者jar
-Dfile=bbb-0.0.1-SNAPSHOT.jar //bbb-0.0.1-SNAPSHOT.jar为要上传的jar包/pom名称
-DpomFile=bbb-0.0.1-SNAPSHOT.pom //要上传的pom文件
-Durl=http://192.168.1.189:8081/repository/maven-snapshots/ //远程Nexus私服仓库地址,可在nexus web浏览仓库页面,点击copy URL的按钮获取到
-DrepositoryId=nexus-snapshot //nexus-snapshot 为我们第2步配置的本地maven conf/settings.xml文件中其中一个server的id,nexus上传jar需要用这种方式验证账号密码
-X // debug模式执行mvn命令,方便查看异常日志
4、检查nexus的maven-snapshots仓库jar和pom是否已上传成功
5、常见错误:
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory...
解决方案:cmd命令必须用管理员权限打开,如果打开的是powershell,请输入cmd命令切换到cmd下执行
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository
解决方案:不能在本地maven仓库中直接运行上传命令,jar包需要挪动.m2/repository目录外上传,或者重命名目录repository
6、注意事项
上传本地jar包时最好同时上传对应的pom文件,否则jar包依赖不会传递
原文链接:https://blog.csdn.net/liuhanningning/article/details/120977684
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix