27

我按照 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 新项目向导不生成文档中所述的目录结构?我做错了什么吗?我检查了偏好,找不到任何似乎相关的东西。

4

4 回答 4

53

通常它应该自动创建这些文件夹。不过,这可能需要一段时间——就我而言,这需要几秒钟。

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

单击完成后,将加载项目。这部分需要几秒钟,在完成之前我可以看到 nosrc/main/scala也没有src/test/scala生成。观察屏幕底部以查看何时完成。

加载过程

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

加载完成

如果不是这种情况,请检查设置。您应该自动检查为空内容根目录创建目录。您可能需要选中使用自动导入来自动传播build.sbt.

设置

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

刷新设置

于 2014-05-18T13:52:43.867 回答
10

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

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

资料来源: “错误:无法确定所选 JDK 中的 Java VM 可执行文件”的原因是什么?

于 2014-09-17T01:49:58.307 回答
9

感谢lpiepiora,在他的提示下我找到了原因。

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

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

解决网络问题后,一切都按承诺进行。下载所需的 jar 文件需要几分钟,取决于网络速度。完成后,src/目录结构就创建好了。

于 2014-05-18T16:08:57.013 回答
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.
于 2016-09-18T21:54:17.283 回答