2012-10-11 129 views
9

He implementado un WAR file en la carpeta webapps en mi tomcat. Y cuando estoy empezando mi Tomcat, como a continuaciónjava.lang.UnsupportedClassVersionError: versión principal incorrecta en offset = 6

C:\apache-tomcat-6.0.35\bin>startup.bat 
Using CATALINA_BASE: "C:\apache-tomcat-6.0.35" 
Using CATALINA_HOME: "C:\apache-tomcat-6.0.35" 
Using CATALINA_TMPDIR: "C:\apache-tomcat-6.0.35\temp" 
Using JRE_HOME:  "C:\Program Files (x86)\IBM\RationalSDLC\Common\Java5.0\jre" 
Using CLASSPATH:  "C:\apache-tomcat-6.0.35\bin\bootstrap.jar" 

Me estoy haciendo esto más adelante excepcionalmente

SEVERE: Error deploying web application archive DirectoryServer.war 
java.lang.UnsupportedClassVersionError: (com/services/rest/Listener) bad major version at offset=6 (unable to load class com.services.rest.Listener) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2822) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
    at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:145) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:73) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:56) 
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297) 
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1078) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:618) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

y este es mi JAVA VERSION-

C:\apache-tomcat-6.0.35\bin>java -version 
java version "1.6.0_26" 
Java(TM) SE Runtime Environment (build 1.6.0_26-b03) 
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) 

¿Alguien puede proporcionar ninguna sugerencia ¿por qué está sucediendo?

Respuesta

16

Básicamente ha compilado su código con JDK 1.6 pero lo ejecuta con Java 5 - Solo asegúrese de que Java 6 runtime.

+1

esto ocurre generalmente cuando se compila en una versión de Java ejecute en una versión ligeramente diferente – babalu

2

Incluso me enfrenté al mismo problema. El problema es la versión de clase inapropiada, por ej. compilando con diferentes jre.

Solución: SI está utilizando Eclipse o RAD, establezca la configuración del compilador de cambios según su requerimiento y también cambie la misma configuración de proyecto al hacer clic en "Configurar ajustes específicos del proyecto". Windows-> Preferencias-> Compilador-> haga clic en el enlace "Configurar ajustes específicos del proyecto".

+1

No veo ningún valor añadido en su respuesta, Biju Kunjummen ya proporcionó una buena respuesta –

+0

Para mí la solución en RAD era cambiar la versión de Java en las configuraciones de ejecución para jUnit (las pruebas fallaron con este error). –

-1

Es un problema de compilación. Asegúrese de que todos sus módulos estén configurados con Java 1.5 como compilador. Ventana -> preferencia -> Java -> compilador. Asegúrese de que 1.5 esté seleccionado.

0

Para mí, la solución fue establecer la variable del sistema JAVA_Home en la ruta correcta.

JAVA_Home system variable

Cuestiones relacionadas