从一些sbt文档(例如范围),我看到:
{.}/*:name
Run Code Online (Sandbox Code Playgroud)
意思name是entire build(name in ThisBuild用来定义它)
*/*:name
Run Code Online (Sandbox Code Playgroud)
意思name是global project(name in Global用来定义它)
(PS:我忽略了配置部分*:)
但是,我仍然不知道它们之间有什么区别,它们对我来说似乎完全一样.
我能用一个而不是另一个做任何事吗?
您在 ThisBuild 中指定的任何版本都将应用于构建中的所有项目,覆盖 Global 中可能定义的任何内容。
例如:键“版本”
对于全局范围,它在 Defaults.scala 中定义为值“0.1-SNAPSHOT”。
对于此构建中的项目,您可能需要使用以下内容覆盖它:
version in ThisBuild := "3.0.1"
Run Code Online (Sandbox Code Playgroud)
因此,由于 [{.}/*:version] 优先于 [*/*:version],因此每当您在项目中获得“version”时,您都会获取“3.0.1”而不是“0.1-SNAPSHOT”。
这几乎解释了其中的区别以及如何使用其中一个而不是另一个。
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |