IntelliJ在嵌套目录中添加Scala子项目

时间:2018-09-08 07:33:53

标签: scala intellij-idea sbt

我有一个包含多个子项目的仓库,如下所示:

my-project
├── .idea
├── backend
│   │── build.sbt 
│   │── src
│   └── ... other Scala subproject files
├── client
│   │── package.json
│   │── webpack.config.js
│   └── ... other JS subproject files
├── worker
│   └── ... other Python subproject files
├── Makefile
└── docker-compose.yml

使用IntelliJ IDEA Ultimate,我希望在同一窗口中打开整个存储库,将./backend作为“子项目”导入,并能够安装所有sbt依赖项。我该怎么办?

如果我将./backend作为一个单独的项目打开,则IntelliJ会正确导入所有文件,从build.sbt文件中定义大量库和模块,并且如果我更改{{1},也会重新导入它们}。

但是对于共享项目,它不会导入任何内容。如果我从build.sbt中的./backend手动导入sbt项目,则无论如何它都会切换到根目录,并且不会导入库。我可以对主库和自己的文件进行语法高亮显示和自动补全,但是Project Structure -> Modules中的软件包不见了。

1 个答案:

答案 0 :(得分:1)

您可以在根文件夹中创建一个虚拟根sbt项目,在其中创建一个单独的build.sbt并将backend用作子项目:

lazy val backend = (project in file("backend"))