今天用eclipse的maven插件deploy jar包时遇到一个问题:
在配置好仓库地址、server用户名、密码的条件下,jar包很容易deploy到maven仓库,命令如下:
mvn deploy:deploy-file -DgroupId=com.xx.xx -DartifactId=xx -Dversion=1.0.0 -Dpackaging=jar -Dfile=xx.jar -Durl=仓库地址 -DrepositoryId=仓库名
另外,需要上传resources的命令如下:
mvn deploy:deploy-file -DgroupId=com.xx.xx -DartifactId=xx -Dversion=1.0.0 -Dpackaging=jar -Dclassifier=sources -Dfile=xx-sources.jar -Durl=仓库地址 -DrepositoryId=仓库名
对于一般普通jar包这么上传使用是没问题的,但是如果maven项目是多个子工程一起管理,那么子工程生成的jar包,用上面的方法上传,即使成功,依赖方却下载不下来,
总是报parent:pom找不到,到中央maven仓库瞄一眼,发现确实没有parent的相关信息,为了对比,我去apache的路径下看了看,
他那里却是有parent信息的,这说明我上传得不对,parent的pom信息没有上传,
可我是用eclipse的插件一键式deploy的啊,怎么会不正确呢?
后来没办法了,只能采用传统方式:在命令行下上传parent的pom文件:
mvn deploy:deploy-file -DgroupId=com.xx.xx -DartifactId=xx -Dversion=1.0.0 -Dpackaging=pom -Dfile=pom.xml -Durl=仓库地址 -DrepositoryId=仓库名
这样就能把parent的pom信息上传至中央maven仓库。
网友评论