发布到 gitlab artifactory 时 401 未经 maven 授权

401 unauthorized from maven when publishing to gitlab artifactory

我在尝试在私有 gitlab 存储库中发布工件时遇到问题。我正在使用 Maven 并使用个人访问令牌进行身份验证。当我 运行 mvn deploy -s ~/.m2/settings.xml 我得到以下错误 Failed to deploy artifacts: Could not transfer artifact ... 401 Unauthorized

我的 settings.xml 文件如下所示。

<servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>personal-token</name>
            <value>mytoken</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>

我也试过改成

    <servers>
        <server>
            <id>gitlab-maven</id>
            <username>username</username>
            <password>pass</password>
        </server>
    </servers>            

但这并没有帮助。这是我的 pom 发布部分

<repositories>
        <repository>
            <id>gitlab-maven</id>
            <url>https://gitlab.mycompany.com/api/v4/projects/92/packages/maven</url>
        </repository>
    </repositories>
    <distributionManagement>
        <repository>
            <id>gitlab-maven</id>
            <url>https://gitlab.mycompany.com/api/v4/projects/92/packages/maven</url>
        </repository>
        <snapshotRepository>
            <id>gitlab-maven</id>
            <url>https://gitlab.mycompany.com/api/v4/projects/92/packages/maven</url>
        </snapshotRepository>
    </distributionManagement>

有什么我遗漏的吗?提前谢谢你。

通过将设置文件中的 属性 更改为 Private-Token 来修复此问题(我之前使用的是令牌的实际名称)

我遇到了同样的问题,但原因不同。
我的想法(带有内置 maven 插件的 intellij)使用的是与我配置服务器(本地 maven 安装在不同的路径)。
要解决此问题,请转到:文件 -> 设置(在 windows Ctrl + Alt + s 上)-> 构建、执行、部署 -> 构建工具 -> Maven -> 用户设置文件。
选中 Override 的复选框并指向正确的路径。
希望它能节省一些人的时间...