I am getting this error
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=map/CareMonths, offset=6
My Eclipse's Java compiler is set to 1.6
and my installed Java SDK in C:\Program Files is 1.6.0
, but still I get this error when I install my app to Webshere Application Server V7.
What does offset=6
mean? I want to compile using Java 6 and Websphere 7 supports Java 6.
I do see that the JDK in the IBM directory where server is installed is Java 7. Is that what is causing this? ....but again my workspace's Eclipse compiler is set to Java 1.6
.
WebSphere Application Server V7 does support Java Platform, Standard Edition (Java SE) 6 (see Specifications and API documentation in the Network Deployment (All operating systems), Version 7.0 Information Center) and it's since the release V8.5 when Java 7 has been supported.
I couldn't find the Java 6 SDK documentation, and could only consult IBM JVM Messages in Java 7 Windows documentation. Alas, I couldn't find the error message in the documentation either.
Since java.lang.UnsupportedClassVersionError is "Thrown when the Java Virtual Machine attempts to read a class file and determines that the major and minor version numbers in the file are not supported.", you ran into an issue of building the application with more recent version of Java than the one supported by the runtime environment, i.e. WebSphere Application Server 7.0.
I may be mistaken, but I think that offset=6 in the message is to let you know what position caused the incompatibility issue to occur. It's irrelevant for you, for me, and for many other people, but some might find it useful, esp. when they generate bytecode themselves.
Run the versionInfo command to find out about the Installed Features of WebSphere Application Server V7, e.g.
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 --------------------------------------------------------------------------------
In this Eclipse Preferences panel you can change the compiler compatibility from 1.7 to 1.6. This solved the similar message I was getting. For Eclipse, it is under: Preferences -> Java -> Compiler: 'Compiler compliance level'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With