我按照Jetbrains网站上的入门视频设置IntelliJ IDEA 13.1社区版与Scala一起使用。已安装Scala插件v0.36.431。当我使用向导创建一个新的Scala SBT项目时,项目中没有生成src/
目录结构。只生成了两个sbt文件:
scala-course/
├── build.sbt
└── project
└── plugins.sbt
从视频和其他文档我知道应该有src/
目录结构,包括src/main/scala
,src/test/scala
等.sbt使用与Maven相同的目录结构来存储源文件默认情况下。
我可以手动创建这些文件夹并将其标记为源根目录。然而,这是微不足道的。所以我的问题是:为什么IntelliJ IDEA新项目向导不会生成文档中所述的目录结构?我做错了吗?我检查了偏好,无法找到任何看似相关的东西。
答案 0 :(得分:52)
通常它应该自动创建这些文件夹。可能需要一段时间 - 在我的情况下需要几秒钟。
创建项目时,请确保已选择 Scala - > SBT ,然后继续向导。
单击完成后,将加载项目。 此部分需要几秒钟,在完成之前,我看不到src/main/scala
或src/test/scala
生成。观察屏幕底部,看看它什么时候完成。
完成此过程后,您将会看到文件夹。
如果情况并非如此,请检查设置。您应该自动为空内容根目录创建目录。您可能需要检查使用自动导入以自动传播build.sbt
中的更改。
更改设置后(如果需要更改),您可能需要刷新项目,如下图所示。
答案 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.