我有一个包含多个子项目的仓库,如下所示:
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
中的软件包不见了。
答案 0 :(得分:1)
您可以在根文件夹中创建一个虚拟根sbt项目,在其中创建一个单独的build.sbt
并将backend
用作子项目:
lazy val backend = (project in file("backend"))