Eclipse工具中maven项目打jar包上传到maven仓库

6 篇文章 0 订阅

首先介绍上传jar包到maven仓库的种方法
  方法一  通过Eclipse上传
  方法二  使用mvn命令在控制台上传

具体使用方法如下:

方法一:

右击项目-->Run as-->maven build...-->Goals中输入如下命令:
deploy -e -Dmaven.test.skip=true

  -Dmaven.test.skip=true 来跳过测试类的编译和运行过程
在这里插入图片描述
  但是使用方法一可能会有与Eclipse版本相关的问题,具体描述看https://stackoverflow.com/questions/64006644/maven-bintray-distribution-in-eclipse-is-not-uploading-jar-files-error-code-401

  既然与Eclipse版本相关,如果不想换Eclipse版本的话,那就不用Eclipse上传,用Eclipse仅打包生成jar文件,然后使用外部Maven运行时将jar文件上传到maven仓库,此时是分两步实现了上传jar包到maven仓库。
(生成jar文件install ,部署deploy,是mvn生命周期相关内容,可参考。。。)

方法二 通过mvn命令上传jar包
第一步:生成jar包

右击项目-->Run as-->maven install

第二步:外部Maven运行上传jar文件
    在Maven安装目录的bin文件夹下打开控制台,运行命令:

mvn deploy:deploy-file -DgroupId=com.yak -DartifactId=comp-modbus -Dversion=0.0.1 -Dpackaging=jar -Dfile=D:\apache-maven-3.6.3\repo\com\yak\comp-modbus\0.0.1\comp-modbus-0.0.1.jar -DpomFile=D:\apache-maven-3.6.3\repo\com\yak\comp-modbus\0.0.1\comp-modbus-0.0.1.pom -Durl=http://144.123.15.122:8890/repository/maven-releases/ -DrepositoryId=nexus-releases

deploy:deploy-file: 表示发布独立的文件。
-DgroupId     与maven项目的pom.xml文件中的groupId一致
-DartifactId    与maven项目的pom.xml文件中的artifactId一致
-Dversion     与maven项目的pom.xml文件中的version一致
-Dfile       打包生成的jar文件在本地文件系统中的路径
-DpomFile     打包生成的pom文件在本地文件系统中的路径,最好指定一个明确路径的pom文件,如果不指定的话,那么 maven 就会自动生成一个 pom ,但基本是一个空的 pom,依赖关系都没有,这将导致,如果别人引用了你的 jar 包,并且需要使用依赖关系里的代码,但却找不到,就会抛出 NoClassDefFoundError 错误,因为编译时没有问题,但运行时却找不到 class 文件。
-Durl       上传jar包到某个仓库的仓库Url,与setting.xml文件的<server>标签的<url>一致
-DrepositoryId    上传jar包到某个仓库的仓库id,与setting.xml文件的<server>标签的<id>一致

在执行方法二的第二步时,可能会遇到错误:
  Eclipse打包生成的文件是在自己定义的本地仓库中的(我的仓库路径是D:\apache-maven-3.6.3\repo),试试把jar文件和pom文件所在的文件夹移出仓库再上传
方法二第二步执行出错参考自https://www.cnblogs.com/stateis0/p/9236312.html
命令参数解读参考
至于为什么有时点击maven install,有时点击maven build使用deploy,这是有关maven生命周期和mvn命令的,可以参考maven生命周期

  • 上传jar文件没有pom时
mvn deploy:deploy-file -DgroupId=com.dingtalk.open -DartifactId=taobao-sdk-java-auto -Dversion=0.0.1 -Dpackaging=jar -Dfile=E:\DingDownload\taobao-sdk-java-auto_1479188381469-20210907.jar -Durl=http://144.123.15.122:8890/repository/maven-releases/ -DrepositoryId=nexus-releases

命令解释:
-DgroupId=com.dingtalk.open 自定义
-DartifactId=taobao-sdk-java-auto 自定义
-Dversion=0.0.1 自定义
-Durl=http://144.123.15.122:8890/repository/maven-releases/ 资源库的地址
-DrepositoryId=nexus-releases setting.xml文件中配置的ID

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值