IntelliJ IDEA 13:新的Scala SBT项目没有生成src目录结构

时间:2014-05-18 12:46:16

标签: scala intellij-idea sbt intellij-13

我按照Jetbrains网站上的入门视频设置IntelliJ IDEA 13.1社区版与Scala一起使用。已安装Scala插件v0.36.431。当我使用向导创建一个新的Scala SBT项目时,项目中没有生成src/目录结构。只生成了两个sbt文件:

scala-course/
├── build.sbt
└── project
    └── plugins.sbt

从视频和其他文档我知道应该有src/目录结构,包括src/main/scalasrc/test/scala等.sbt使用与Maven相同的目录结构来存储源文件默认情况下。

我可以手动创建这些文件夹并将其标记为源根目录。然而,这是微不足道的。所以我的问题是:为什么IntelliJ IDEA新项目向导不会生成文档中所述的目录结构?我做错了吗?我检查了偏好,无法找到任何看似相关的东西。

4 个答案:

答案 0 :(得分:52)

通常它应该自动创建这些文件夹。可能需要一段时间 - 在我的情况下需要几秒钟。

创建项目时,请确保已选择 Scala - > SBT ,然后继续向导。

单击完成后,将加载项目。 此部分需要几秒钟,在完成之前,我看不到src/main/scalasrc/test/scala生成。观察屏幕底部,看看它什么时候完成。

Loading Process

完成此过程后,您将会看到文件夹。

Loaded Done

如果情况并非如此,请检查设置。您应该自动为空内容根目录创建目录。您可能需要检查使用自动导入以自动传播build.sbt中的更改。

Settings

更改设置后(如果需要更改),您可能需要刷新项目,如下图所示。

Refresh Settings

答案 1 :(得分:10)

如果您没有选择JDK,也会发生这种情况。出于某种原因,您不再可以选择SDK,因此您必须确保已经预先配置了这个。要解决此问题,请执行以下操作:

From the welcome screen, go to 
Configure -> Project defaults -> Project structure and add the jdk.

来源: What's the reason for "Error:Cannot determine Java VM executable in selected JDK"?

答案 2 :(得分:9)

感谢lpiepiora和他的hint我找到原因。

因为我的sbt是新安装的,~/.ivy2/cache/~/.sbt/boot/中没有任何内容。 sbt需要从网络上的存储库下载所需的依赖项。碰巧我的互联网代理有问题,下载卡住了。

还需要注意的是,如果sbt在后台运行时退出IntelliJ IDEA,下次你会收到等待某个锁文件的错误。必须删除文件系统上的锁文件,然后重新启动IntelliJ IDEA。

修复网络问题后,一切都按照承诺运行。它需要几分钟,取决于网络速度,下载所需的jar文件。完成后,将创建src/目录结构。

答案 3 :(得分:0)

我按照这个帖子中的说明进行了操作但是我在sbt的最后阶段遇到了一个java崩溃,配置如下:我认为这个信息可能有用:

问题发生在IDEA 2016.2,sbt 0.13.8(我后来尝试使用0.13.12导入,但崩溃是相同的),scala 2.11.8和ubuntu 16.04。

我能使其工作的唯一方法是使用java 8而不是9.

error: error while loading package, Missing dependency 'object java.lang.Object in compiler mirror', required by /home/jbamaral/.sbt/boot   at xsbt.boot.Boot.main(Boot.scala)
... 
stack log here
...
[error] scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.