Я не могу ссылаться на классы Scala из кода Java при использовании Eclipse IDE. Рассматриваемый класс Scala вложен в структуру объекта Scala. При попытке использовать класс в коде Java Eclipse жалуется на использование двоичного имени.
Ниже приведен пример кода Scala, определяющего интересующий класс (Inner
):
package mypackage;
object Outer {
object Middle {
class Inner {
def msg() {
println("Running");
}
}
}
}
Чтобы использовать класс Inner
в коде Java, я использую следующий код:
mypackage.Outer$Middle$Inner inner = new mypackage.Outer$Middle$Inner();
inner.msg();
Однако компилятор Eclipse (Indigo) жалуется на следующее сообщение в первой строке:
На вложенный тип mypackage.Outer $ Middle $ Inner нельзя ссылаться, используя его двоичное имя
Интересно, что приведенный выше код Java работает при использовании с NetBeans 6.9.1.
Это проблема компилятора Eclipse? Есть ли какие-либо флаги, позволяющие использовать двоичные имена? Или, наоборот, проблема в Scala или в том, как я ее использую?