java - mayor - bad major version at offset 6
UnsupportedClassVersionError: JVMCFRE003 mala versión principal en WebSphere AS 7 (12)
Estoy recibiendo este error
java.lang.UnsupportedClassVersionError: JVMCFRE003 versión principal incorrecta; class = map / CareMonths, offset = 6
El compilador de Java de My Eclipse está configurado en 1.6
y mi SDK de Java instalado en C: / Archivos de programa es 1.6.0
, pero aun así obtengo este error cuando instalo mi aplicación en Webshere Application Server V7.
¿Qué significa offset=6
? Quiero compilar usando Java 6 y Websphere 7 es compatible con Java 6.
Veo que el JDK en el directorio de IBM donde está instalado el servidor es Java 7. ¿Eso es lo que está causando esto? .... pero de nuevo el compilador Eclipse de mi espacio de trabajo está configurado en Java 1.6
.
Al principio , debe verificar la versión principal del archivo compilado problemático .class
, en su map/CareMonths
caso map/CareMonths
. Vea esta respuesta cómo hacerlo.
WAS7 usa Java 6 ( como dijo Jacek ), y Java 6 usa la versión principal 50, por lo que debe compilar su proyecto con Java 6 . Cómo configurar la versión correcta del compilador de Java depende de su IDE (por ejemplo, Eclipse, IntelliJ) o herramienta de compilación (por ejemplo, Maven, Ant).
En eclipse, vaya a Proyecto-> Propiedades-> Ruta de compilación de Java-> Ordenar y exportar. Si está utilizando múltiples JRE, intente como jdk e ibm. El pedido debe comenzar con jdk y luego con IBM. Así es como mi problema fue resuelto.
En este panel de preferencias de Eclipse puede cambiar la compatibilidad del compilador de 1.7 a 1.6. Esto resolvió el mensaje similar que estaba recibiendo. Para Eclipse, está en: Preferencias -> Java -> Compilador: ''Nivel de cumplimiento del compilador''
Estaba obteniendo el mismo error. En Project Facets de mi proyecto Java, el nivel de compilación de Java se estableció en 1.7, mientras que WebSphere Application Server v7.0 tenía una composición en tiempo de ejecución de JRE v1.6; establecer el nivel de compilación de Java a 1.6 en Project Facets eliminó el error. Sin embargo, no tuve que cambiar el nivel de cumplimiento del compilador, sigue siendo 1.7. ¡Espero que esto ayude!
Estaba recibiendo el mismo error incluso después de hacer los cambios anteriores y lo que hice es
Haga clic derecho en el proyecto-> propiedades-> compilador java-> nivel de cumplimiento del compilador-> lo cambia a 1.6
Este cambio es particular para el proyecto. Esto debería funcionar.
Este error puede ocurrir si el proyecto se está compilando con JDK 1.6 y tiene dependencias compiladas con Java 7.
Lo arreglé configurando env. variable JAVA_HOME.
Recibí este error en websphere 8.5:
java.lang.UnsupportedClassVersionError: JVMCFRE003 versión principal incorrecta; class = com / xxx / Whatever, offset = 6
Tenía mi proyecto JDK nivel establecido en 1.7 en eclipse y was8 por defecto se ejecuta en JDK 1.6 por lo que hubo un choque. Tuve que instalar el SDK 1.7 opcional en mi servidor websphere y luego el problema desapareció. Supongo que también podría haber reducido mi nivel de proyecto a 1.6 en eclipse, pero quería codificar a 1.7.
Si el registro indica java.lang.UnsupportedClassVersionError: JVM **** mala versión principal.
Entonces, el código y el servidor no se compilan con la misma versión JDK.
Para solucionar esto, cambie la versión de JDK en código o servidor JDK.
Intente esto: - En el caso de uso a continuación, estoy cambiando a 1.7_64 (JDK 1.7 64 bit)
c: / IBM / WebSphere / WSRR / v8.5 / bin / managesdk.bat -enableProfile -profileName WSRRSrv01 -sdkname 1.7_64
Si usa maven intente agregar en el pom.xml
<properties>
...
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
...
</properties>
De lo contrario, intente cambiar la versión del compilador.
También debe asegurarse de haber configurado la versión Java de Project Facets adecuada. Propiedades del módulo -> Project Facets -> Java 1.6 debe ser verificado
WebSphere Application Server V7 es compatible con Java Platform, Standard Edition (Java SE) 6 (consulte Especificaciones y documentación de API en Network Deployment (Todos los sistemas operativos), Versión 7.0 Information Center) y es desde la versión V8.5 cuando Java 7 ha sido apoyado .
No pude encontrar la documentación de Java 6 SDK, y solo pude consultar los mensajes de IBM JVM en la documentación de Java 7 Windows . Por desgracia, tampoco pude encontrar el mensaje de error en la documentación.
Puesto que java.lang.UnsupportedClassVersionError se "lanza cuando la máquina virtual de Java intenta leer un archivo de clase y determina que no se admiten los números de versión mayor y menor en el archivo". , se encontró con el problema de compilar la aplicación con una versión más reciente de Java que la soportada por el entorno de tiempo de ejecución, es decir, WebSphere Application Server 7.0.
Puedo estar equivocado, pero creo que offset = 6 en el mensaje es para hacerle saber qué posición causó que ocurriera el problema de incompatibilidad. Es irrelevante para usted, para mí y para muchas otras personas, pero a algunos les puede resultar útil, especialmente. cuando generan bytecode ellos mismos.
Ejecute el comando versionInfo para conocer las características instaladas de WebSphere Application Server V7, por ejemplo
C:/IBM/WebSphere/AppServer>./bin/versionInfo.bat
WVER0010I: Copyright (c) IBM Corporation 2002, 2005, 2008; All rights reserved.
WVER0012I: VersionInfo reporter version 1.15.1.47, dated 10/18/11
--------------------------------------------------------------------------------
IBM WebSphere Product Installation Status Report
--------------------------------------------------------------------------------
Report at date and time February 19, 2013 8:07:20 AM EST
Installation
--------------------------------------------------------------------------------
Product Directory C:/IBM/WebSphere/AppServer
Version Directory C:/IBM/WebSphere/AppServer/properties/version
DTD Directory C:/IBM/WebSphere/AppServer/properties/version/dtd
Log Directory C:/ProgramData/IBM/Installation Manager/logs
Product List
--------------------------------------------------------------------------------
BPMPC installed
ND installed
WBM installed
Installed Product
--------------------------------------------------------------------------------
Name IBM Business Process Manager Advanced V8.0
Version 8.0.1.0
ID BPMPC
Build Level 20121102-1733
Build Date 11/2/12
Package com.ibm.bpm.ADV.V80_8.0.1000.20121102_2136
Architecture x86-64 (64 bit)
Installed Features Non-production
Business Process Manager Advanced - Client (always installed)
Optional Languages German
Russian
Korean
Brazilian Portuguese
Italian
French
Hungarian
Simplified Chinese
Spanish
Czech
Traditional Chinese
Japanese
Polish
Romanian
Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere Application Server Network Deployment
Version 8.0.0.5
ID ND
Build Level cf051243.01
Build Date 10/22/12
Package com.ibm.websphere.ND.v80_8.0.5.20121022_1902
Architecture x86-64 (64 bit)
Installed Features IBM 64-bit SDK for Java, Version 6
EJBDeploy tool for pre-EJB 3.0 modules
Embeddable EJB container
Sample applications
Stand-alone thin clients and resource adapters
Optional Languages German
Russian
Korean
Brazilian Portuguese
Italian
French
Hungarian
Simplified Chinese
Spanish
Czech
Traditional Chinese
Japanese
Polish
Romanian
Installed Product
--------------------------------------------------------------------------------
Name IBM Business Monitor
Version 8.0.1.0
ID WBM
Build Level 20121102-1733
Build Date 11/2/12
Package com.ibm.websphere.MON.V80_8.0.1000.20121102_2222
Architecture x86-64 (64 bit)
Optional Languages German
Russian
Korean
Brazilian Portuguese
Italian
French
Hungarian
Simplified Chinese
Spanish
Czech
Traditional Chinese
Japanese
Polish
Romanian
--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------