【问题标题】:Scala outputs on the command-line, but not in Eclipse Scala IDEScala 在命令行上输出,但不在 Eclipse Scala IDE 中
【发布时间】:2012-06-22 13:56:13
【问题描述】:

我不知道发生了什么,甚至不知道如何弄清楚,但我有一个 Scala Hello World 对象,就像这样。

object TestFoo {
  def main(args: Array[String]): Unit = {
    println("Hello World")
  }
}

适用于 Eclipse 的 Scala IDE(适用于 Scala 2.9,运行 Eclipse Indigo)没有显示任何错误,并创建了一个编译类。当我转到 Run > Run As > Scala Application 时,终端控制台没有显示输出。但是,当我转到命令行并直接运行 scala(使用 Eclipse 编译的类文件)时,我得到了正确的输出:

% scala -cp bin/classes TestFoo
Hello World

关于我可能做错了什么或可以做些什么来纠正问题以使输出显示在 Eclipse 中的任何想法?

更新:在一位评论者建议检查错误日志后,我检查了 Eclipse 的控制台输出,看看那里是否有任何常见的东西。我看到了 Java 的崩溃报告,但这是个例外:

Java information:
 Exception type: Internal Error (/SourceCache/JavaJDK16/JavaJDK16-424/hotspot/src/share/vm/runtime/fieldDescriptor.cpp, line 85)

#  guarantee(_name_index != 0 && _signature_index != 0) failed: bad constant pool index for fieldDescriptor

【问题讨论】:

  • 如果您询问是否发布了一些页面较长的帮助文档,但没有说明您认为对它有什么帮助,那么没有。您认为我可能遗漏了该文件的具体内容吗?我读过它,可能忽略了一些东西,但我不知道它可能是什么。
  • 您尝试过 Scala > 运行设置诊断吗?如果做不到这一点,你可以尝试打开一个新的工作区,看看你是否仍然遇到同样的问题
  • Eclipse 错误日志中是否有任何内容?
  • 设置诊断中没有任何内容,但新的工作区解决了它。这至少给了我一些东西来尝试找到问题。谢谢。

标签: eclipse scala scala-ide


【解决方案1】:

好的,经过进一步调查,只要我使用 Scala 项目来完成这项工作,似乎一切都正常。它也可能适用于运行 Scala 和 Java 混合的典型 Java 项目。

在这种情况下,我试图让一个测试脚本在 Android 项目中运行,但它根本找不到终端并报告了异常。那是我做错了。

如果您在从 Android 项目或其他非 Scala 项目中运行控制台应用程序时遇到问题,那可能就是问题所在。为此类事情使用 Scala 项目。

【讨论】:

  • 哎呀,您试图在 Java 项目上执行“运行为 Scala 应用程序”?如果您想要一个混合的 Java/Scala 项目,请确保将 Scala Nature 添加到您的项目中。 Eclipse Java 编译器对 Scala 一无所知 ;-)
猜你喜欢
  • 2014-06-03
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 2017-08-09
相关资源
最近更新 更多