我正在开发几个与它们之间的依赖关系的模块,并希望在一个IDEA项目中一起使用它们。 我正在使用sbt-idea从sbt构build定义生成IDEA项目,这对于单个项目非常有用。 然而,在多模块的情况下,我迄今为止所尝试的东西并不完全正常: 使用sbt-idea独立地为每个模块生成一个IDEA .iml文件 ; 然后从头开始创build一个主IDEA项目并将这些模块添加到它。 这使得模块的源代码在同一个窗口中都是可编辑的,但是它们之间的依赖关系没有被跟踪(所以试图从foo项目中的某个源代码导航到bar中的某些东西将我带到导入的库版本,而不是本地源代码)。 使用sbt 多项目构build (也称为子项目) ,其中父项目的Build.scala包含如下内容: lazy val foo = Project(id = "foo", base = file("foo")) lazy val bar = Project(id = "bar", base = file("bar")) dependsOn(foo) 这几乎可以工作,因为sbt-idea会生成一个主IDEA项目,并跟踪所有子项目之间的依赖关系。 有两个警告: 子项目必须存在于主项目的子目录中(即不允许使用file("../foo")似乎是一种限制。 这实际上并不是我想要的(如果在两个不同的主项目中使用某个模块,比如“utils”或“commons”包),但是我可以忍受。 我的一个子项目有自己的子项目; 我不确定sbt本身是否正确处理这些嵌套的项目,但无论如何,它们被sbt-idea忽略。 显然我需要嵌套子项目recursion包含在主项目中。 总结一下:我想将可能已经有子项目的模块收集到一个大的IDEA项目中,并进行跟踪,以便编辑。 我该怎么做? 谢谢!