в Java с помощью vtd-xml создает java.lang.UnsupportedClassVersionError - PullRequest
2 голосов
/ 06 мая 2011

У меня есть ушное приложение с двумя EJB и одним WEB (war) проектами, все с использованием соответствия компилятора 1.5. В моем веб-проекте я создал служебный файл Class, который принимает байтовый массив файла xml и возвращает некоторые строковые значения с использованием библиотеки vtd-xml v2.10, и я создаю экземпляр объекта этого класса в сервлете. При вызове конструктора объекта (который принимает байтовый массив) я получаю ошибку:

java.lang.UnsupportedClassVersionError: Bad version number in .class file

Когда я удаляю все связанные с vtd-xml объекты из класса, я не получаю эту ошибку. Любой совет будет оценен.

Привет

Ответы [ 4 ]

3 голосов
/ 06 мая 2011

Звучит так, будто в jar-файле vtd-xml есть классы 1.6

2 голосов
/ 05 июля 2011

Теперь он работает, выполняя файл build.bat (входит в vtd-xml.zip), но вам нужно изменить целевую версию на 1.5 вместо 1.6

2 голосов
/ 06 мая 2011

вы можете перекомпилировать, используя файл build.bat (входит в vtd-xml.zip), чтобы получить новый vtd-xml.jar.

2 голосов
/ 06 мая 2011

Документация гласит:

Выдается, когда виртуальная машина Java пытается прочитать файл класса и определяет, что номера старших и младших версий в файле не поддерживаются.

Используемая библиотека должна быть скомпилирована с другой версией Java.

...