我正在Windows上运行SBT 1.1.1。
如果我在build.sbt中添加以下行,我的构建就可以了:
credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
麻烦的是,我并不特别想在我的项目中留下这种特定于机器的配置。另外,为了使用g8模板,我需要有一个可用的全局配置。
但是如果我将相同的文字放在以下目录中名为 credentials.sbt 的文件中,它似乎无效。
那么这个文件应该放在哪里?
无论我将该文件放入哪个位置,都会出现以下错误:
C:\workspace\tmp>c:\apps\sbt-1.1.1\bin\sbt.bat new sbt/scala-seed.g8
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading settings from credentials.sbt ...
[info] Loading global plugins from C:\Users\NBKA0O5\.sbt\1.0\plugins
[info] Updating ProjectRef(uri("file:/C:/Users/NBKA0O5/.sbt/1.0/plugins/"), "global-plugins")...
[error] Unable to find credentials for [Artifactory Realm @ artifactory.company.com].
[error] Unable to find credentials for [Artifactory Realm @ artifactory.company.com].
我知道我的凭据一定很好,因为我首先使用完全相同的凭据来启动SBT。
奇怪的是,即使我正在运行sbt-1.1.1,它似乎也想要从%USERPROFILE%\.sbt\1.0\plugins
加载插件 - 这对我来说没什么意义,版本号不匹配。即使我知道正在读取文件,我仍然会收到错误消息。
答案 0 :(得分:4)
奇怪的是,即使我正在运行sbt-1.1.1,它似乎也想要从%USERPROFILE%.sbt \ 1.0 \ plugins加载插件 - 这对我来说没什么意义,版本号没有比赛。
有关此问题,请参阅sbt/sbt#3858。您应该将凭证文件放在~/.sbt/1.0/credentials.sbt
中(与任何其他全局设置相同)。
另请注意credentials
是一个自sbt 1.0以来的任务,因此如果您必须将实际凭据存储在其他地方(环境变量或从另一个文件解析),每次它都应该重新评估。正在使用。