出现 [ERROR] Failed to execute goal org.sonatype.central:central-publishing-maven-plugin:0.4.0:publish (injected-central-publishing) on project com.sedi.snowflake: Execution injected-central-publishing of goal org.sonatype.central:central-publishing-maven-plugin:0.4.0:publish failed: Unable to get publisher server properties for server id: huzuohuyou: Cannot invoke "org.apache.maven.settings.Server.getUsername()" because "server" is null -> [Help 1]
错误的原因是Maven的settings.xml
配置文件中没有正确配置对应的server
信息,导致插件无法获取到发布服务器的属性。
解决方法
-
检查
settings.xml
配置- 打开Maven的
settings.xml
文件(通常位于~/.m2/
目录下),在<servers>
标签下添加对应的服务器配置,例如:
其中<servers><server><id>huzuohuyou</id><username>your_username</username><password>your_password</password></server> </servers>
<id>
的值需要与pom.xml
中<distributionManagement>
部分的<repository>
或<snapshotRepository>
的<id>
一致。 - 确保
<id>
、<username>
和<password>
的值是正确的,<username>
和<password>
通常是你的Maven中央仓库的用户名和密码。
- 打开Maven的
-
检查
pom.xml
配置- 确保
pom.xml
文件中的<distributionManagement>
部分正确配置了发布仓库的信息,例如:
其中<distributionManagement><repository><id>huzuohuyou</id><url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url></repository> </distributionManagement>
<id>
的值需要与settings.xml
中配置的<id>
一致。
- 确保
-
重新运行Maven命令
- 在修改配置后,重新运行Maven命令(如
mvn clean deploy
)以尝试解决问题。
- 在修改配置后,重新运行Maven命令(如
如果问题仍然存在,可以尝试使用Maven的-X
开关来获取更详细的调试日志,以便进一步分析问题。