0

我不知道发生了什么,甚至不知道如何弄清楚,但我有一个 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
4

1 回答 1

1

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

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

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

于 2012-06-24T02:16:02.753 回答