1

我对 Scala 很陌生,所以请原谅我的基本问题。

我正在尝试让 Scala-Arm 管理类成员的发布,但在确定范围时遇到了麻烦。

尽管以下代码可以编译,但它失败了

java.lang.NoSuchMethodError: resource.ManagedResource.reflect()Ljava/lang/Object; 

在反映电话。因此,似乎managed_file正在立即发布。

对于局部变量,我使用了for (managed_file <- managed(...))语法,但在这里看不到该怎么做。

建议任何人?

class Writer(outputPath: String){

  val managed_file = managed(new FileOutputStream(new File(outputPath)))

  def write(something : SomeClass) {
    var bos = new ByteArrayOutputStream
    var dos = new DataOutputStream(bos)

    try {
      dos.write(Marshal.dump(something))
      bos.writeTo(managed_file.reflect)
    } 
    finally {
      dos.close
      bos.close
    }
  }
}
4

1 回答 1

0

NoSuchMethodError 是编译/运行时差异错误。您针对 Scala ARM 成功编译,但在运行时未找到(或至少在同一版本中未找到)。

于 2014-08-01T08:28:35.300 回答