2014-01-06 5 views
0

Я пытаюсь скомпилировать старый проект, который использует JDK 1.5.0_13 с Maven 2.2.1.Сбой maven jaxws с java.lang.UnsupportedClassVersionError: неправильный номер версии в .class файле

'JAXWS-Maven-плагин' терпит неудачу с этим сообщением:

[INFO] Processing: com.xyzzy.sydemas.facade.SydemasFacadeImpl 
[INFO] jaxws:wsgen args: [-keep, -s, C:\Development\www\workspace\sydemas_ws_sei\target\generated-sources\wsgen, -d, C:\Development\www\workspace\sydemas_ws_sei\target\classes, -verbose, -encoding, UTF-8, -extension, -wsdl, -r, C:\Development\www\workspace\sydemas_ws_sei\target\generated-sources\wsdl, com.xyzzy.sydemas.facade.SydemasFacadeImpl] 
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
     ...few more lines here... 

Весь код построен с JDK 1.5, JAVA_HOME устанавливается в JDK 1.5. Когда я использую «javap» в указанном файле класса для просмотра версии, он показывает 49, который является номером JDK 1.5.

Оригинальный POM использовал старые jaxws (версия 1.10 от org.codehaus.mojo). Я также попробовал новый (2.3 из org.jvnet.jax-ws-commons), и он также терпит неудачу.

Я искал по всему и не смог найти решение.

Спасибо, Амир

ответ

0

Эта ошибка обычно происходит, когда у вас есть .class, которые были скомпилированы с более высокой версии Java, чем виртуальная машина пытается запустить его.

Может быть, ваш maven использует другую версию jdk.

The Compiler Plugin is used to compile the sources of your project. Since 3.0, the default compiler is javax.tools.JavaCompiler (if you are using java 1.6) and is used to compile Java sources. If you want to force the plugin using javac, you must configure the plugin option forceJavacCompilerUse.

Пожалуйста, проверьте this link.

+0

Спасибо, но это не исправить эту проблему. Мое подозрение в том, что встроенная функция wsgen Maven является проблемой. На данный момент я прокомментировал приглашения плагина jaxws в проекте и сумел построить проект без файлов WSDL. Я могу повторно посетить этот вопрос в будущем. –