如何在IDEA 12中使用外部Scala编译器?

时间:2013-04-05 04:27:42

标签: scala intellij-idea

如何在IDEA中使用外部Scala编译器?我似乎随机出现错误,说“scala:无法连接到localhost / 127.0.0.1的编译服务器:3200”

有时它有效。有时却没有。我找不到模式。

以下是我在日志中的内容

9:20:58 PM Auto make completed with errors
9:21:09 PM Using a new (SBT-based) Scala compiler.
           In case of any compilation problems you may enable the previous (internal) compiler by clearing:
           Project Settings / Compiler / Use external build
9:21:10 PM Scala compile server
           Error: Could not create the Java Virtual Machine.
           Error: A fatal exception has occurred. Program will exit.

9:21:12 PM Compilation completed with 1 error and 0 warnings in 3 sec

我正在使用

  • IDEA 12.1(129.161)
  • Scala编译器2.10.1
  • Scala插件0.7.213
  • JDK 1.7
  • Windows 7

在项目设置/编译器/使用外部版本中进行检查。 在IDE Settings / Scala / Run中,检查编译服务器。

我是否需要手动启动编译器服务器?还有什么吗?

UPD:看起来像我的错误。我发布了JIRA票http://youtrack.jetbrains.com/issue/SCL-5523

7 个答案:

答案 0 :(得分:6)

您需要将堆大小从1024降低到512或者其他东西。然后可以创建并启动编译服务器。 尝试使用InteliJ 13.0.2(133.331)和Scala插件0.26.361

答案 1 :(得分:3)

转到设置 - >编译并取消选中“使用外部构建”

答案 2 :(得分:1)

通常无需更改任何设置即可运行。这听起来像是端口冲突,先前不正常关闭的结果,或堆大小不足。

enter image description here

尝试转到Settings -> Scala (under IDE settings list, towards the bottom) -> TCP port来更改编译服务器端口。在那里,您还可以设置不同的最大堆大小。

该问题可能与this开放票证有关。

答案 3 :(得分:1)

我提交的错误标记为已修复。 JetBrains的解释是

“已修复”表示编译现在默认工作,因此解决了主要问题(如标题所述)。 但是,自动生成之前的自动初始编译服务器启动仍然无法轻松实现。这就是为什么Scala项目默认仍然关闭auto-make的原因。当然,我们毕竟会支持自动制作。

答案 4 :(得分:1)

我遇到了与IntelliJ相同的问题,如果你打开事件日志(在IDE的右下角),你可以看到scala编译器没有配置jdk版本的错误消息,并提供了一个设置它的链接。

Settings > Languages and Frameworks > Scala Compile Server > JVM SDK中设置您在IDE中使用的java,如this screenshot

答案 5 :(得分:0)

你可以尝试我写的这个简单的项目,它使用了sbt-idea插件。它应该与最新的Intellij IDEA或Scala IDE(EClipse)一起开箱即用

skeleton

答案 6 :(得分:0)

将堆大小减少到512或128 MB为我工作