Bootstrap

maven发包because “server“ is null

出现 [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信息,导致插件无法获取到发布服务器的属性。

解决方法

  1. 检查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中央仓库的用户名和密码。
  2. 检查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>一致。
  3. 重新运行Maven命令

    • 在修改配置后,重新运行Maven命令(如mvn clean deploy)以尝试解决问题。

如果问题仍然存在,可以尝试使用Maven的-X开关来获取更详细的调试日志,以便进一步分析问题。

;