mvn deploy 记录

本文详细介绍如何使用Maven正确部署包含或不包含Pom.xml的Jar包至私服,包括命令参数详解,避免NoClassDefFoundError错误,确保依赖正确加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1: 上传jar包了, 但是 pom.xml 是默认生成的, 导致 有的依赖下载不下来
 

说明:

比较关键的就是 -DpomFile=pom.xml,如果你不指定的话,那么 maven 就会自动生成一个 pom ,但基本是一个空的 pom,依赖关系都没有的 —— 这将导致,如果别人引用了你的 jar 包,并且需要使用依赖关系里的代码,但却找不到,就会抛出 NoClassDefFoundError 错误,因为编译时没有问题,但运行时却找不到 class 文件。

 

deploy:deploy-file 插件有很多参数,想了解更多内容,可以参照官方文档:https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html#packaging

 

2:jar包中带有pom.xml的jar包必须将 jar包中的pom.xml  拿出来,跟jar包在同一级别目录,使用以下命令上传:

mvn deploy:deploy-file

-DgroupId=com.alibaba.csp   //groupId

-DartifactId=sentinel-annotation-aspectj  // artifactId

-Dversion=1.2-SNAPSHOT   //version

-Dfile=g:\sentinel-annotation-aspectj-1.4.0.jar   //jar包路径及jar包文件名

-Dpackageing=jar   //上传文件的格式

 -DpomFile=pom.xml   //重点在这, 必须单独上传jar中的pom.xml

-DrepositoryId=user-thirdparty  //连接maven私服的登录名及密码,  在maven > setting.xml 中配置好的

-Durl=http://IP:8081/nexus/content/repositories/snapshots/  //上传的私服路径及目录
 

3: 使用第三方jar包,不包含pom.xml 则可以使用以下命令:

 mvn deploy:deploy-file

-DgroupId=com.alibaba.csp   //groupId

-DartifactId=sentinel-annotation-aspectj  // artifactId

-Dversion=1.4.0  //version

-Dfile=g:\sentinel-annotation-aspectj-1.4.0.jar   //jar包路径及jar包文件名

 -DrepositoryId=user-thirdparty   //连接maven私服的登录名及密码,  在maven > setting.xml 中配置好的

-Durl=http://IP:8081/nexus/content/repositories/thirdparty/   //上传的私服路径及目录
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值