如何强制使用Nexus下载SBT插件和插件?

4

我认为现在我已经知道如何通过Nexus强制下载项目依赖项了。(我是通过将externalResolvers显式设置为只有一个值的Seq来实现的:

override lazy val settings = super.settings ++ Seq(
  externalResolvers := Seq("Nexus repository" at "http://.../nexus/content/groups/public/")
)

然而,如果我删除我的Ivy缓存,SBT仍然访问一些公共仓库来获取插件。理想情况下,我希望这也通过Nexus进行,以确保我们不依赖于那些永远存在的仓库。(事实并非如此。) 有任何线索吗? (我的SBT版本是0.11.2)

我认为它应该以相同的方式工作。只需在plugins.sbt中将您的解析器设置为Seq即可。 - drexin
2
我应该说过我已经尝试过了,但是它没有起作用。 - Wilfred Springer
启动器使用的存储库可能是相关的。您尝试过此答案 中的解决方案吗? - Shaun the Sheep
我还没有尝试过那个,但我不想全局地改变我的整个系统。我有许多项目不应该通过Nexus存储库。我只想让一个项目始终通过这个Nexus存储库。 - Wilfred Springer
你可以在你的项目中包含一个sbt脚本、jar文件和properties文件。 - Leif Wickland
我猜那可能行得通,但我更喜欢一种不需要这样做的解决方案。但也许这要求太高了。 - Wilfred Springer
1个回答

1

sbt 0.12为此添加了全局存储库设置

通过在~/.sbt/repositories中放置一个独立的[repositories]部分(请参见启动器规范页面),并向sbt传递-Dsbt.override.build.repos=true,来定义要使用的存储库。只有该文件中的存储库才会被启动器用于检索sbt和Scala以及由sbt检索项目依赖项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接