这货是啥
nexus-staging-maven-plugin是一个nexus用来自动控制流程的客户端插件。如果你想分享自己的java开源项目到maven中央仓库,就有可能需要这个插件。
问题是啥
重现问题需要下面几步,
第一步:
需要先在sonatype上发起一个新开源项目的issue等待审核通过。
第二步:
修改自己的pom.xml,让他符合maven中央仓库的检查规则。
几个重要的规则是开发者信息
maven-javadoc-plugin //打包javadoc
maven-source-plugin //打包源码
maven-gpg-plugin //gpg签名验证
复制代码签名需要自己生成,详细教程在deploy-to-maven-central-repository
第四步:
nexus本身有一套发布jar的流程,下面这个插件可以是nexus流程处理的客户端.
org.sonatype.plugins
nexus-staging-maven-plugin
1.6.7
true
ossrh
https://oss.sonatype.org/
true
复制代码好的,请记住这个插件,当你执行mvn deploy的时候,它会自己上传当前maven工程下的所有模块到nexus.
比如说xxx-service-api的实现,xxx-web.
怎么解决
如果想把某个模块忽略,需要增加配置
org.sonatype.plugins
nexus-staging-maven-plugin
true
复制代码end.
懒人版
在用了nexus-staging-maven-plugin插件之后,下面的配置不能避免模块被发布到nexus
org.apache.maven.plugins
maven-deploy-plugin
true
复制代码还需要增加
org.sonatype.plugins
nexus-staging-maven-plugin
true
总结:我按照上述方式配置发现,所有模块都不上传了,很奇怪,于是乎,一不做二不休,直接移除掉nexus-staging-maven-plugin,只使用maven-deploy-plugin,用手动的方式进行操作。