你好吗?
我在SBT控制台中执行了以下操作:
inspect version
我得到了类似如下的东西:
[info] Delegates:
[info] *:version
[info] {.}/*:version
[info] */*:version
那么,实际上,最后两个有什么区别?我一遍又一遍地阅读文档,但似乎对我没有任何影响。一种是ThisBuild (也称为整个建筑,也就是。{.}),而另一个是全局的。
为什么项目轴中的{.}优先于项目轴中的*?值{.}和*在我看来几乎是一样的。
谢谢!
发布于 2015-01-02 10:10:49
最后两个的顺序如下:
*:version -> try current project
{.}/*:version -> try this build
*/*:version -> try global
表示无论您在此构建中指定的版本是什么,您都希望它覆盖可能在Global中定义的任何内容。
示例:全局作用域的关键字"version“它是在Defaults.scala中用值"0.1-SNAPSHOT”定义的。对于此构建中的项目,您可能希望使用以下命令覆盖它:
version in ThisBuild := "3.0.1"
因此,因为{.}/*:version的优先级高于/:version,所以每当您在项目中获取“版本”时,都会获取"3.0.1“而不是"0.1-SNAPSHOT”。
https://stackoverflow.com/questions/22769390
复制相似问题