sbt:使用凭据获取私有 Maven 存储库时添加 http 标头

khe*_*aud 8 maven sbt gitlab coursier

我尝试在我的配置中使用凭据build.sbt以便从gitlab 私有 Maven 存储库中检索私有工件。

但正如 sbt 文档所述:

凭证文件是一个属性文件,其中包含域、主机、用户和密码的密钥。

并且 gitab 私有 Maven 文档指出:

如果项目是私有的,或者您想将 Maven 工件上传到 GitLab,则需要提供凭据以进行授权。仅支持个人访问令牌和 CI 作业令牌。部署令牌和常规用户名/密码凭据不起作用

获取或推送工件到 gitlab maven 私有存储库时进行身份验证的唯一方法是使用带有以下内容的 mavensettings.xml文件:

<settings>
  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Private-Token</name>
            <value>REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>
Run Code Online (Sandbox Code Playgroud)

我找到了一种解决方法来推送我的私有工件(本地中间步骤),但我无法像libraryDependencies在其他 Scala 存储库中一样使用这些私有工件。

  • 无论如何让 sbt 使用所需的文件获取我的私人 gitlab 存储库httpHeaders
  • 你知道有什么解决方法(多步提取)来检索我的私人工件吗?