【发布时间】:2014-07-23 21:53:23
【问题描述】:
在 sbt shell 中如何设置子项目的设置?
我知道我可以project subproject 然后set key := value,但我不想一直切换项目。理想情况下与以下内容没有太大不同:
set key in subproject := value
【问题讨论】:
在 sbt shell 中如何设置子项目的设置?
我知道我可以project subproject 然后set key := value,但我不想一直切换项目。理想情况下与以下内容没有太大不同:
set key in subproject := value
【问题讨论】:
我认为问题在于您已经在build.sbt 中定义了您的项目,并且它们似乎在 sbt 控制台中不可见。至少在当前版本的 sbt 中 - 请参阅 this issue 和 this issue 实际上只是在几天前修复(!)
我找到了两种方法来克服这个限制。
set version in "projectId" := "some-version"
使用以下构建定义文件build/Build.scala:
import sbt._
import Keys._
object Build extends Build {
lazy val projectA, projectB = project
}
您应该可以执行set version in projectA := "1.42-SNAPSHOT 并达到预期效果。
此外,您可以只拥有包含项目定义的build/Build.scala,其余配置位于每个子模块的build.sbt。与set 配合使用会非常好。
【讨论】:
build.sbt 的项目在shell 中是不可见的!感谢您分享新闻。
. 的人;)。但老实说 - 有价值的变化总是对社区有益,所以谢谢! :)
.,它可以提高理解并帮助 Scala 类型推理器。