在sbt shell中如何设置子项目的设置?
我知道我可以project subproject
然后set key := value
,但我不想继续转换项目。理想情况下与以下内容没有什么不同:
set key in subproject := value
答案 0 :(得分:6)
我认为问题在于您已在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
完全正常。