如何从Windows工作站向我的专用Artifactory服务器提供SBT凭证?

Sal*_*ley 4 scala artifactory sbt

我正在Windows桌面上的公司防火墙后面使用sbt 0.13.13。

我们有一个Artifactory,似乎在其他构建工具上工作得很好,但我也想使SBT正常工作,但是我什至无法启动sbt 0.13.x!

当我尝试启动SBT时,我从启动器中收到此错误:

C:\workspace\aggregator2>c:\apps\sbt-0.13.13\sbt-launcher-packaging-0.13.13\bin\sbt
Getting org.scala-sbt sbt 0.13.13 ...

:: problems summary ::
:::: WARNINGS
                module not found: org.scala-sbt#sbt;0.13.13

        ==== local: tried

          C:\Users\USERNAME\.ivy2\local\org.scala-sbt\sbt\0.13.13\ivys\ivy.xml

          -- artifact org.scala-sbt#sbt;0.13.13!sbt.jar:

          C:\Users\USERNAME\.ivy2\local\org.scala-sbt\sbt\0.13.13\jars\sbt.jar

        ==== my-ivy-proxy-releases: tried

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml

        ==== my-maven-proxy-releases: tried

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org/scala-sbt/sbt/0.13.13/sbt-0.13.13.pom

          -- artifact org.scala-sbt#sbt;0.13.13!sbt.jar:

          http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org/scala-sbt/sbt/0.13.13/sbt-0.13.13.jar

                ::::::::::::::::::::::::::::::::::::::::::::::

                ::          UNRESOLVED DEPENDENCIES         ::

                ::::::::::::::::::::::::::::::::::::::::::::::

                :: org.scala-sbt#sbt;0.13.13: not found

                ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

实际上,这些URL确实存在-当我用Chrome或Curl打入它们并提供凭据时,我便能够检索所有必需的资源。

当我查看日志时,可以看到发生了什么:

try to get credentials for: Artifactory Realm@artifactory.bigcompany.com
authentication: k='Artifactory Realm@artifactory.bigcompany.com' c='null'
HTTP response status: 401 url=http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml
CLIENT ERROR: Unauthorized url=http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml
    my-ivy-proxy-releases: resource not reachable for org.scala-sbt#sbt;0.13.13: res=http://artifactory.bigcompany.com:8081/artifactory/virtual-sbt/org.scala-sbt/sbt/0.13.13/ivys/ivy.xml
    my-ivy-proxy-releases: no ivy file found for org.scala-sbt#sbt;0.13.13
Run Code Online (Sandbox Code Playgroud)

因此很明显,没有凭据(或发送了错误的凭据)。所以我看了如何设置它。我有一个凭证文件,它在%USERPROFILE%/。sbt / .credentials中看起来像这样

realm=Artifactory Realm
host=artifactory.bigcompany.com
user=USERNAME
password=<my api key>
Run Code Online (Sandbox Code Playgroud)

我在%USERPROFILE%.sbt \ 0.13 \ plugins \ credentials.sbt中有一个“插件”文件,看起来像这样:

credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
Run Code Online (Sandbox Code Playgroud)

我正在像这样调用sbt:

c:\apps\sbt-0.13.13\sbt-launcher-packaging-0.13.13\bin\sbt
Run Code Online (Sandbox Code Playgroud)

再次查看日志-根本没有任何迹象表明凭据已加载了crss.sbt插件,这反过来又表明我将文件放置在错误的位置,或者该文件中有其他东西使其无法使用。

所以有人可以帮助我-我需要如何调整此设置以使其真正起作用?是否有一些缺失