Altova Mapforce 允许从 Java.class
文件中导入用户定义的函数。由于 Scala 还可以编译为 Java.class
文件,我想我可以互换使用它们。所以我写了一些测试对象,发现我可以.class
成功导入文件,但是使用某些函数总是会失败
java.lang.NoclassDefFoundError: scala/某事
例如,如果用scalac
. 我可以导入Pass.class
并且Fail.class
没有问题
object Pass {
def echo(s: String): String = s // no errors
}
object Fail {
def greet(name: String): String = {
// java.lang.NoClassDefFoundError: scala/collection/mutable/StringBuilder
"Hello, " + name
}
}
使用Pass.echo
有效但Fail.greet
会引发错误,java.lang.NoClassDefFoundError: scala/collection/mutable/StringBuilder
.
我的理解是 Mapforce 正在 Java 库中搜索 Scala 类。如果这是正确的,那么我如何告诉 MapForce 包含 Scala 库?否则是什么原因?