SBT设置后备搜索路径

时间:2014-03-31 18:29:35

标签: sbt

你好吗?

我在SBT控制台中执行了以下操作:

inspect version

我得到的内容如下:

[info] Delegates:
[info]  *:version
[info]  {.}/*:version
[info]  */*:version

所以,实际上,最后两个之间的区别是什么?我阅读并阅读了文档,但似乎对我没有任何影响。一个是ThisBuild(a.k.a。整个构建,a.k.a。{。}),而另一个是Global。

为什么项目轴中的{。}优先于项目轴中的*? 值{。}和*看起来几乎和我一样..

感谢!!!!

1 个答案:

答案 0 :(得分:0)

最后两个的顺序:

*:version     -> try current project
{.}/*:version  -> try this build
*/*:version   -> try global  

表示无论您在此版本中指定的版本是什么,都希望覆盖可能在Global中定义的任何内容。

示例:Key" version" 对于全局范围,它在Defaults.scala中定义,值为" 0.1-SNAPSHOT"。 对于此版本中的项目,您可能希望用以下内容覆盖它:

version in ThisBuild := "3.0.1"

所以,因为{。} / *:版本优先于 / :版本,只要你得到"版本"在你的项目中,你获取" 3.0.1"而不是" 0.1-SNAPSHOT"。