IntelliJ在嵌套目录中添加Scala子项目
我有一份包含多个子项目的回购协议,如下所示:IntelliJ在嵌套目录中添加Scala子项目,scala,intellij-idea,sbt,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 │ └── ... oth
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
,还会重新导入它们
但对于共享项目,它不会导入任何内容。如果我从
项目结构->模块
中的/backend
手动导入sbt项目,它仍然会切换到根目录,并且不会导入库。我可以为主库和我自己的文件获取语法高亮显示和自动完成,但是build.sbt
中的包丢失。您可以在根文件夹中创建一个虚拟根sbt项目,在那里创建一个单独的build.sbt
,并使用backend
作为子项目:
lazy val backend=(文件中的项目(“backend”)
您所说的“它切换到根目录”是什么意思?请注意,如果sbt项目根目录与IntelliJ项目根目录不相同,则当前使用sbt shell进行生成/导入将不起作用,但禁用sbt shell选项后,当您作为模块导入时,它应该起作用。