我有一个包含多个子项目的仓库,看起来像这样:
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
文件定义了大量的库和模块,如果我更改build.sbt
也重新导入它们。
但对于共享项目,它不会导入任何东西。如果我从./backend
中的Project Structure -> Modules
手动导入sbt项目,它仍会切换到根目录,并且不会导入库。我可以为主库和我自己的文件获取语法高亮和自动完成,但是缺少来自build.sbt
的包。
您可以在根文件夹中创建一个虚拟根sbt项目,在那里创建一个单独的build.sbt
并使用backend
作为子项目:
lazy val backend = (project in file("backend"))