NoClassDefFoundError Для IClass $ DefaultImpls при написании метода по умолчанию для интерфейса в Kotlin - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть интерфейс MyInterface в Kotlin с некоторыми методами, которые некоторые имеют реализацию по умолчанию. Кроме того, у меня есть другой интерфейс IClass, который расширяет MyInterface, написанный на Java. Наконец, у меня есть класс MyClass, который реализует MyInteface, написанный на Kotlin. Теперь, когда я запускаю свой код, я получил следующую ошибку.

java.lang.ClassNotFoundException: myPackage.IClass$DefaultImpls

Я тестирую Kotlin 1.2.51 и 1.3.0

Когда я пишу IClass на Kotlin, все работает как положено. Что не так с моим первым кодом?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Это ошибка в компиляторе Kotlin. В качестве обходного пути, пожалуйста, используйте @JvmDefault, как рекомендовано в другом ответе.

0 голосов
/ 01 ноября 2018

Возможно, вы хотите аннотировать свой метод с помощью JvmDefault в Kotlin. Это новая функция, подробно описанная здесь

...