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