2014-01-06 17 views
0

Maven 2.2.1에서 JDK 1.5.0_13을 사용하는 이전 프로젝트를 컴파일하려고합니다.Maven jaxws 플러그인이 java.lang.UnsupportedClassVersionError와 함께 실패합니다. .class 파일의 버전 번호가 잘못되었습니다.

'잭스 - WS-받는다는 - 플러그인'이 메시지와 함께 실패합니다

[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'을 사용하여 버전을 확인하면 JDK 1.5 번호 인 49가 표시됩니다.

원본 POM은 이전 jaxws (org.codehaus.mojo의 버전 1.10)를 사용했습니다. 나는 또한 새로운 것을 시도했다. (org.jvnet.jax-ws-commons에서 2.3) 또한 실패했다.

나는 모든 것을 조사하고 해결책을 찾지 못했습니다. 당신이 그것을 실행하려고 가상 머신과 자바의 상위 버전으로 컴파일 된의 .class이있을 때

감사합니다, 아미르

답변

0

이 오류는 일반적으로 발생합니다.

다른 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

감사를 확인하시기 바랍니다하지만 문제가 해결되지 않았다. 내 의혹은 Maven에 내장 된 "wsgen"이 문제라는 것이다. 지금은 프로젝트에서 jaxws 플러그인의 호출을 주석 처리했으며 WSDL 파일없이 프로젝트를 빌드했습니다. 앞으로이 문제를 다시 방문 할 수 있습니다. –