【发布时间】:2018-09-16 22:56:53
【问题描述】:
我有一个包含多个子项目的仓库,如下所示:
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,我希望在同一个窗口中打开整个 repo,将 ./backend 作为“子项目”导入,并能够安装所有 sbt 依赖项。我该怎么做?
如果我将./backend 作为单独的项目打开,IntelliJ 会正确导入所有内容,从build.sbt 文件中定义大量库和模块,如果我更改build.sbt,还会重新导入它们。
但对于共享项目,它不会导入任何内容。如果我在Project Structure -> Modules 中手动从./backend 导入一个sbt 项目,它无论如何都会切换到根目录并且不会导入库。我可以获得主库和我自己的文件的语法突出显示和自动完成功能,但是来自build.sbt 的包丢失了。
【问题讨论】:
-
“它切换到根目录”是什么意思?请注意,如果 sbt 项目根目录与 IntelliJ 项目根目录不同,则当前使用 sbt shell 进行构建/导入将不起作用,但禁用 sbt shell 选项时,它应该在您作为模块导入时起作用。
标签: scala intellij-idea sbt