【转】本地jar 上传到maven仓库

  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>
  1. 上传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命令,方便查看异常日志

  2. 检查nexus的maven-snapshots仓库jar和pom是否已上传成功

  3. 常见错误:
    [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

  4. 注意事项
    上传本地jar包时最好同时上传对应的pom文件,否则jar包依赖不会传递

原文:
本地jar 上传到maven仓库

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
上传jar包Maven 仓库需要执行以下步骤: 1. 在本地 Maven 仓库中安装 jar 包 在命令行中执行以下命令: ``` mvn install:install-file -Dfile=path/to/your.jar -DgroupId=your.group.id -DartifactId=your-artifact-id -Dversion=your-version -Dpackaging=jar ``` 其中,`path/to/your.jar` 是你要上传jar 包路径,`your.group.id` 、`your-artifact-id` 和 `your-version` 分别代表你的 Maven 项目的 Group ID、Artifact ID 和版本号。 2. 配置 Maven 项目的 pom.xml 文件 在 Maven 项目的 `pom.xml` 文件中添加以下配置: ``` <repositories> <repository> <id>your-repo-id</id> <url>https://your.repo.url</url> </repository> </repositories> <dependencies> <dependency> <groupId>your.group.id</groupId> <artifactId>your-artifact-id</artifactId> <version>your-version</version> </dependency> </dependencies> <distributionManagement> <repository> <id>your-repo-id</id> <url>https://your.repo.url</url> </repository> </distributionManagement> ``` 其中,`your-repo-id` 和 `https://your.repo.url` 分别代表你的 Maven 仓库的 ID 和 URL。 3. 配置 Maven 的 settings.xml 文件 在 Maven 的 `settings.xml` 文件中添加以下配置: ``` <servers> <server> <id>your-repo-id</id> <username>your-username</username> <password>your-password</password> </server> </servers> ``` 其中,`your-username` 和 `your-password` 分别代表你的 Maven 仓库的用户名和密码。 4. 执行 Maven 的 deploy 命令 在命令行中执行以下命令: ``` mvn deploy ``` 这将会把你的 jar上传Maven 仓库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值