Подтвердить что ты не робот

Исключение java.lang.IncompatibleClassChangeError во время работы Groovy в Eclipse Juno

Недавно я загрузил Eclipse Juno и установил последний плагин Groovy.

Теперь вот как выглядит мой файл Groovy.

package groovy_support

class TimePass {
static void main(def args){
    println "Hello World"
}
}

Когда я запускаю это из моей предыдущей версии eclipse (индиго) или из командной строки, она запускается. Однако на Eclipse Juno он жалуется на следующее исключение на консоли Eclipse.

Caught: java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.ClassVisitor, but interface was expected
java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.ClassVisitor, but interface was expected

Обратите внимание, что "Groovy Libraries" уже находятся в пути к классам.

Теперь, что я делаю неправильно здесь?

4b9b3361

Ответ 1

Вы находитесь в последних groovy/зависимых баночках?.

java.lang.IncompatibleClassChangeError происходит из-за проблем совместимости задней панели. Чтобы решить проблему, необходимо перекомпилировать код клиента.

Конкретная ошибка, которую вы видите, заключается в том, что org.objectweb.asm.ClassVisitor является Interface в asm 3.2 и Class в asm 4.0 и далее.

Ответ 2

У меня была такая же проблема, используя Spring и Groovy в одном модуле. Spring в 3.1.2 по-прежнему использует более старую ASM, Groovy использует одно с классом. Хотя может быть возможно скорректировать некоторые исключения, я уверен, что это не всегда вариант.

После чтения этот поток Я решил сделать с groovy -all.jar вместо списка всех Groovy необходимых библиотек, Если это вариант для вас, это может быть легко, как избежать дальнейших проблем.

Ответ 3

Я перепробовал много решений для ошибки ниже. java.lang.IncompatibleClassChangeError: Найден интерфейс org.objectweb.asm.MethodVisitor, но ожидался класс. Только тот, который работал, исключает заводной артефакт из восстановленной зависимости. Пожалуйста, обратитесь к ссылке ниже для полного обхода.

https://blog.jayway.com/2013/04/12/solving-asm-conflicts-after-upgrading-to-groovy-2-1/