在build.sbt中指定rootProject

在build.sbt中指定rootProject,sbt,Sbt,在我的Build.scala中,我有: override def rootProject = Some(frontendProject) 我正在尝试转换为更新的build.sbt格式,但不知道这行的等效内容。在使用build.sbt时,如何将sbt的项目设置为默认加载?我仍然不确定是否理解您的意思,但您提到了多项目构建,因此我假设您要定义一个根项目来聚合子项目。以下是如何做到这一点(在rootbuild.sbt)中: 请参阅关于多项目 然后,如果您想将默认项目设置为在sbt启动时加载到子项目,

在我的Build.scala中,我有:

override def rootProject = Some(frontendProject)

我正在尝试转换为更新的build.sbt格式,但不知道这行的等效内容。在使用build.sbt时,如何将sbt的项目设置为默认加载?

我仍然不确定是否理解您的意思,但您提到了多项目构建,因此我假设您要定义一个根项目来聚合子项目。以下是如何做到这一点(在root
build.sbt
)中:

请参阅关于多项目

然后,如果您想将默认项目设置为在sbt启动时加载到子项目,除了您的答案之外,我可以建议

  • 使用
    sbt“project XXX”shell运行sbt
    命令
  • 或者将此行添加到您的
    build.sbt

    lazy val root = project.in( file(".") ).aggregate(subProject1, subProject2)
    
    lazy val subProject1 = project in file("subProject1")
    
    lazy val subProject2 = project in file("subProject2")
    
    onLoad-in-Global:={Command.process(“project XXX”,\ux:State)}compose(onLoad-in-Global).value


在这两种情况下,sbt首先加载根项目,然后加载子项目。

我发现以下脚本非常有用:

#!/usr/bin/env bash

exec "sbt" "project mysubproject" "shell"
exit $?

请出示sbt所说的内容。这到底是什么
rootProject
?可能您只想设置
thisProject:=文件中的项目(…)
thisProjectRef
?rootProject是sbt内置的一个概念,用于指定sbt在多项目构建中启动时切换到的项目。您指给我的另一个问题是我回答的问题:-)尽管我可能应该更新答案,因为我找到了一种更好的方法将默认项目设置为在sbt启动时加载,这就是我在这里所指的。除了我不知道如何让它在build.sbtOh中工作,对不起,我没有注意到是你。好的,所以我找不到任何方法来覆盖
build.sbt
中的
rootProject
,但是除了您以前的解决方案之外,我可以建议两种解决方案-我将它们添加到我的答案中。