部署ValidaThor到Maven Central时遇到的两类问题
解决Maven Central部署的两个问题:ossrh上传后未同步、gpg2命令找不到
问题1:Jar上传至ossrh但未同步到Maven Central
原因
部署相关插件被误配置在build.pluginManagement.plugins节点下——这个节点仅用于统一管理插件的版本和基础配置,不会自动触发插件执行。只有将插件移到build.plugins节点,Maven才会在deploy阶段执行插件逻辑,完成从ossrh到Maven Central的同步流程。
修复步骤
- 打开项目
pom.xml,找到<pluginManagement>下的部署插件(如nexus-staging-maven-plugin、maven-deploy-plugin等) - 将这些插件复制到
<build><plugins>节点下(可保留pluginManagement中的版本配置,避免重复定义) - 确认插件的
<executions>绑定正确,比如nexus-staging-maven-plugin需绑定到deploy阶段完成仓库推送和同步
问题2:执行mvn -e clean deploy时出现gpg2: command not found
原因
Maven GPG插件默认调用gpg2命令,但你的环境中可能仅安装了gpg,或者gpg2未加入系统环境变量PATH。
修复方案(任选其一)
- 方案1:检查环境变量配置
在终端执行gpg2 --version,若提示找不到命令,找到GPG安装目录(Windows一般为C:\Program Files (x86)\GnuPG\bin,Linux/macOS为/usr/bin),将其添加到系统PATH后重启终端。 - 方案2:强制GPG插件使用gpg命令
在pom.xml的GPG插件配置中添加executable参数:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> <configuration> <executable>gpg</executable> </configuration> </plugin> - 方案3:创建软链接(Linux/macOS)
若系统只有gpg,可通过软链接映射gpg2:sudo ln -s /usr/bin/gpg /usr/bin/gpg2
内容的提问来源于stack exchange,提问作者Paul Marcelin Bejan
相关产品推荐
相关产品推荐

