UnsupportedClassVersionError:JVMCFRE003bad 问题分析与解决
来源:互联网 发布:java培训工资 编辑:程序博客网 时间:2024/06/18 10:27
问题分析
com.ibm.ws.webcontainer.annotation.WASAnnotationHelpercollectClasses unable to instantiate class
java.lang.UnsupportedClassVersionError:JVMCFRE003bad major version;class=com/soa/listener/SpringContextLoaderListener, offset=6at java.lang.ClassLoader.defineClassImpl(NativeMethod) at java.lang.ClassLoader.defineClass(ClassLoader.java:28
//解决方案与方法如下:
http://stackoverflow.com/questions/14926402/unsupportedclassversionerror-jvmcfre003-bad-major-version-in-websphere-as-7
WebSphere Application Server V7 does support Java Platform, Standard Edition (Java SE) 6 (seeSpecifications 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.batWVER0010I: 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 ESTInstallation--------------------------------------------------------------------------------Product Directory C:\IBM\WebSphere\AppServerVersion Directory C:\IBM\WebSphere\AppServer\properties\versionDTD Directory C:\IBM\WebSphere\AppServer\properties\version\dtdLog Directory C:\ProgramData\IBM\Installation Manager\logsProduct List--------------------------------------------------------------------------------BPMPC installedND installedWBM installedInstalled Product--------------------------------------------------------------------------------Name IBM Business Process Manager Advanced V8.0Version 8.0.1.0ID BPMPCBuild Level 20121102-1733Build Date 11/2/12Package com.ibm.bpm.ADV.V80_8.0.1000.20121102_2136Architecture 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 RomanianInstalled Product--------------------------------------------------------------------------------Name IBM WebSphere Application Server Network DeploymentVersion 8.0.0.5ID NDBuild Level cf051243.01Build Date 10/22/12Package com.ibm.websphere.ND.v80_8.0.5.20121022_1902Architecture 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 adaptersOptional Languages German Russian Korean Brazilian Portuguese Italian French Hungarian Simplified Chinese Spanish Czech Traditional Chinese Japanese Polish RomanianInstalled Product--------------------------------------------------------------------------------Name IBM Business MonitorVersion 8.0.1.0ID WBMBuild Level 20121102-1733Build Date 11/2/12Package com.ibm.websphere.MON.V80_8.0.1000.20121102_2222Architecture 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'
This error can occur if you project is compiling with JDK 1.6 and you have dependencies compiled with Java 7.
You should also make sure you have set appropriate Project Facets Java version. Module Properties -> Project Facets -> Java 1.6 should be checked
I was getting this error in websphere 8.5:
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=com/xxx/Whatever, offset=6
I had my project JDK level set at 1.7 in eclipse and was8 by default runs on JDK 1.6 so there was a clash. I had to install the optional SDK 1.7 to my websphere server and then the problem went away. I guess I could have also set my project level down to 1.6 in eclipse but I wanted to code to 1.7.
I was getting the same error. In the Project Facets of my Java project, the Java compile level was set to 1.7 whereas the WebSphere Application Server v7.0 had a Runtime Composition of JRE v1.6; setting the Java compile level to 1.6 in Project Facets got rid of the error. I did not have to change the Compiler compliance level though, it's still 1.7. Hope this helps!
At first you should check major version of compiled problematic .class
file, in your case map/CareMonths
. See this answer how to do it.
WAS7 uses Java 6 (as said Jacek), and Java 6 uses major version 50, so you have to compile your project with Java 6. How to set proper version of Java compiler depends on your IDE (e.g. Eclipse, IntelliJ) or build tool (e.g. Maven, Ant).
- UnsupportedClassVersionError:JVMCFRE003bad 问题分析与解决
- 解决java.lang.UnsupportedClassVersionError问题
- 解决java.lang.UnsupportedClassVersionError问题!!
- 解决java.lang.UnsupportedClassVersionError问题!!
- 解决java.lang.UnsupportedClassVersionError
- UnsupportedClassVersionError的解决
- UnsupportedClassVersionError异常的解决
- UnsupportedClassVersionError的解决
- 解决java.lang.UnsupportedClassVersionError
- System.DllNotFoundException 问题分析与解决
- System.DllNotFoundException 问题分析与解决
- enqueue:HW问题分析与解决
- javascript 浮点运算问题分析与解决
- Javascript 浮点运算问题分析与解决
- Javascript 浮点运算问题分析与解决
- DllImport System.DllNotFoundException 问题分析与解决
- 排队购票问题分析与解决
- js浮点运算问题分析与解决
- @RequestBody、@ResponseBody的使用方法
- #pragma pack() 引发的问题
- 在 CentOS 5.8 上安装 Graphite
- Java构造方法小总结
- 如何获取显示器的EDID信息
- UnsupportedClassVersionError:JVMCFRE003bad 问题分析与解决
- SDK23 读取联系人 权限拒绝
- 关于pthread_mutex_t的初始化 http://www.blogbus.com/kavine-logs/46146510.html
- 使用GDB调试android模拟器
- 关于layoutSubviews那些事
- 【ecshop 资料】ecshop对数据库测试数据进行清除操作。老杨ecshop原创
- centos 利用crontab定时任务设计
- 《兄弟》读后感
- iOS微信支付流程及实现
-source
and-target
options ofjavac
. – Jacek LaskowskiApr 2 '13 at 12:55