gpt4 book ai didi

scope - 与 sbt 中的 `{.}/*:name` 和 `*/*:name` 的区别?

转载 作者:行者123 更新时间:2023-12-04 15:44:04 24 4
gpt4 key购买 nike

从一些 sbt 文档(例如 scopes ),我看到:

{.}/*:name

意味着 nameentire build (使用 name in ThisBuild 来定义它)
*/*:name

意味着 nameglobal project (使用 name in Global 来定义它)

(PS:我忽略了配置部分 *: )

但是,我仍然不知道它们之间有什么区别,在我看来它们完全相同。

我可以用一个而不是另一个来做什么吗?

最佳答案

您在 ThisBuild 中指定的任何版本都将应用于您构建中的所有项目,覆盖可能在 Global 中定义的任何内容。

例如:键“版本”

对于全局范围,它在 Defaults.scala 中定义为“0.1-SNAPSHOT”。

对于此版本中的项目,您可能希望使用以下内容覆盖它:

version in ThisBuild := "3.0.1"

因此,因为 [{.}/*:version] 优先于 [*/*:version],每当您在项目中获得“version”时,您获取的是“3.0.1”而不是“0.1-SNAPSHOT”。

这几乎解释了差异以及如何使用一个而不是另一个。

关于scope - 与 sbt 中的 `{.}/*:name` 和 `*/*:name` 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25841527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com