IntelliJ IDEA:无法导入SBT项目

19

我完全不了解使用Play或IntelliJ进行开发。 我使用Activator创建了一个简单的HelloWorld应用程序,这是一个sbt项目。

我一直在尝试将其导入IntelliJ,但我卡在了这个屏幕上: https://www.dropbox.com/s/we1a4a3184sojvb/Screenshot%202014-07-24%2016.57.11.png

在几乎所有我在网上看到的教程中,我看到人们在导入屏幕上使用了一个sbt选项。 我也安装了SBT插件,但没有帮助。 我已经多次重新启动IntelliJ,但仍然无济于事。

我错在哪里了? 我正在运行安装了SBT插件的13.1.4版本。


2
如果您安装了Scala插件,您应该可以直接打开项目,而不需要使用导入工具。 - lpiepiora
也许生成的项目没有build.sbt文件,因此导入项目会卡在那里。通常,activator idea可以解决这个问题,另外一些activator模板已经有了build.sbt文件。 - Xiaohe Dong
你需要安装Scala插件,它支持SBT和play2。请看这里 - Artem
那个截图里有什么?它不在了。 - Don Branson
9个回答

38

当我从现有源导入新模块时,遇到了这个错误。

  • 在您的IntelliJ窗口右侧,您将看到一个垂直选项卡列表,请打开SBT选项卡。
  • 选择出现问题的模块,在其上右键单击,选择“分离外部项目”。
  • 再次尝试导入该模块。

这是一个简单的解决方案,完美地运行了。谢谢你。 - Kevin
完美,这就是适合我的解决方案。 - pjvds
1
这个帖子中排名最高的答案说“卸载所有东西”。感谢您对StackOverflow的信任。完美的答案。 - Harsh Vardhan Ladha
2
请重新导入该模块 = 文件 - 新建 - 从现有源创建项目 - Yordan Georgiev

9
  1. 进入/your-project-folder文件夹
  2. 运行./activator
  3. 输入idea命令生成IDEA项目。
  4. 在IDEA中打开(不是导入)File->Open..项目。

我已经尝试过了,但恐怕它仍然存在一些问题。例如,我无法解析类,比如 WS.Response 无法被解析。这真的很奇怪。也许从 Typesafe Activator 切换到普通的 Play 可以有所帮助。 - Ashesh
尝试使用sbt idea with-sources=yes - red1ynx

5

我遇到了类似的问题,但是与其他解决方案不同,因此在此添加,以防它发生在其他人身上。

在我的情况下,问题是由于意外打开了IdeaProjects目录所致。这样做会在该目录中创建.Idea文件夹,并将其作为项目填充。这显然也会使设置导入程序感到困惑。

解决方案是删除.Idea文件夹并重新打开(而不是导入)该目录。


4

当我试图将一个新的scala项目A作为模块导入到现有的IntelliJ项目B中时,遇到了相同的错误。我通过以下步骤解决了问题:

  1. 进入项目B的文件夹。打开文件.idea/sbt.xml。
  2. 删除包含项目A路径的条目。

1
这也解决了我的问题。 我最初尝试使用版本2020.1.2 - Ultimate。由于某种奇怪的原因,它没有起作用。 当回退到相同版本但CE发布时,它停止工作。 删除".idea"文件夹彻底解决了我的问题。 - Dr. Vick

2
经历了一系列的挣扎后,我必须说有一件奇怪的事情解决了这个问题——使用IntelliJ IDEA Ultimate。它内置了Play应用程序支持,并且可以直接运行/调试/测试应用程序,非常方便。
在这次经历之后,我可以说JetBrains希望你升级到Ultimate版本,如果你想让一切都能够立即使用。
我相信也有办法让CE版本实现这个功能,但我没有成功过。

2
我使用IntelliJ Ultimate,虽然没有使用sbt或Scala,而是使用Gradle和Java,但我遇到了同样的问题。因此,终极版也存在这个问题。 - OlliP
+1 给 @OlliP,我使用 Spring Initialzr 创建了一个基本的 Spring Boot 项目,并在 Intelij IDEA 中打开该项目时遇到了相同的问题。经过多次尝试,我终于成功了,IDEA 加载了所有依赖项。 - invzbl3

1

解决方案

IntelliJ IDEA 2022.2.1 (Ultimate Edition)
scala plugin: 2022.2.12
sbt version: 1.7.1

执行以下步骤:

  1. 取消关联sbt项目(sbt工具栏),然后重新关联。
  2. 删除模块(ctrl + alt + shift + s)。
  3. 删除.bsp/和.idea/配置文件。
  4. 使缓存失效ctrl + f)。
  5. 重启IDEA。

使其正常工作的步骤数量可能会有所不同。


0

这个问题已经在最新的SBT和Scala插件更新中得到解决。


0
  1. 卸载所有相关软件
  2. 重新安装IntelliJ
  3. 安装JetBrains官方Scala插件
  4. 导入项目

    • 确保项目有一个正确放置的build.sbt文件,以便IntelliJ可以将其找到为SBT项目。
    • 这是关于IntelliJ IDEA 13.1.4版本的。

我已经做过了。我目前使用的是IntelliJ IDEA 13.1.4,但它就是不起作用。我已经安装了所有插件。https://www.dropbox.com/s/zncnc2udwxe73rs/Screenshot%202014-07-28%2012.30.15.png - Ashesh
那么我认为原因是因为你尝试导入的项目没有像@Cloudtech所说的那样有一个build.sbt文件。当IntelliJ在项目文件夹中找到构建文件时,它会识别SBT项目,而不是通过查找.scala文件来识别。因此,只需在项目中创建一个名为build.sbt的新文件,可能写一些内容,然后再次尝试。希望这次能成功!我编辑了我的答案,包括这个提示。 - Ryoichiro Oka

0

确保你的Java路径正确(IntelliJ可以使用系统定义之外的路径

首选项 -> 构建、执行、部署 -> sbt -> JVM - 选择一个正确的JRE


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接