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? Иначе в чем причина?
$env:CLASSPATH
переменная - person cheezsteak   schedule 03.03.2015