Java 不受支持的ClassVersionError:JVMCFRE003在WebSphere AS 7中的主要版本错误
我得到了这个错误 java.lang.UnsupportedClassVersionError:JVMCFRE003主版本错误;类别=地图/月份,偏移量=6 我的Eclipse的Java编译器设置为Java 不受支持的ClassVersionError:JVMCFRE003在WebSphere AS 7中的主要版本错误,java,eclipse,jakarta-ee,websphere-7,jdk1.6,Java,Eclipse,Jakarta Ee,Websphere 7,Jdk1.6,我得到了这个错误 java.lang.UnsupportedClassVersionError:JVMCFRE003主版本错误;类别=地图/月份,偏移量=6 我的Eclipse的Java编译器设置为1.6,我在C:\Program Files中安装的Java SDK设置为1.6.0,但当我将我的应用程序安装到Webhere应用程序服务器V7时仍然会出现此错误 偏移量=6是什么意思?我想使用Java6进行编译,WebSphere7支持Java6 我确实看到安装服务器的IBM目录中的JDK是Java
1.6
,我在C:\Program Files中安装的Java SDK设置为1.6.0
,但当我将我的应用程序安装到Webhere应用程序服务器V7时仍然会出现此错误
偏移量=6是什么意思?我想使用Java6进行编译,WebSphere7支持Java6
我确实看到安装服务器的IBM目录中的JDK是Java7。这就是原因吗。。。。但是,我的工作区的Eclipse编译器再次设置为Java
1.6
WebSphere Application Server V7确实支持Java平台、标准版(Java SE)6(请参见Network Deployment(所有操作系统)中的7.0版信息中心),并且从那时开始
我找不到Java6SDK文档,只能在中查阅。唉,我在文档中也找不到错误消息
由于是“当Java虚拟机尝试读取类文件并确定文件中的主版本号和次版本号不受支持时引发的”,因此您遇到了一个问题,即使用比运行时环境支持的更新版本的Java构建应用程序,即WebSphere application Server 7.0
我可能弄错了,但我认为消息中的偏移量=6是为了让您知道是什么位置导致了不兼容问题的发生。这对你、我和其他许多人来说都无关紧要,但有些人可能会发现它很有用,尤其是当他们自己生成字节码时
运行命令以了解WebSphereApplicationServerV7的已安装功能,例如
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
--------------------------------------------------------------------------------
在这个Eclipse首选项面板中,您可以将编译器兼容性从1.7更改为1.6。这解决了我收到的类似信息。
对于Eclipse,它位于:Preferences->Java->Compiler:“Compiler compliance level”下,如果您的project是使用JDK 1.6编译的,并且您的依赖项是使用Java 7编译的,则可能会发生此错误。我在websphere 8.5中遇到此错误: java.lang.UnsupportedClassVersionError:JVMCFRE003错误的主要版本;class=com/xxx/无论什么,偏移量=6
我在eclipse中将我的项目JDK级别设置为1.7,在JDK1.6上默认运行was8,因此出现了冲突。我不得不将可选的SDK 1.7安装到我的websphere服务器上,然后问题就消失了。我想我也可以在eclipse中将我的项目级别设置为1.6,但我想将代码设置为1.7。我遇到了同样的错误。在我的Java项目的项目方面,Java编译级别设置为1.7,而WebSphere Application Server v7.0的运行时组合为JRE v1.6;在ProjectFacets中将Java编译级别设置为1.6可以消除该错误。不过,我不必更改编译器遵从性级别,它仍然是1.7。希望这有帮助 首先你应该检查编译的
.class
文件的主要版本,在你的例子中是map/careemonds
。看看怎么做
WAS7使用Java6(),Java6使用主要版本50,因此您必须使用Java6编译项目。如何设置Java编译器的正确版本取决于您的IDE(例如Eclipse、IntelliJ)或构建工具(例如Maven、Ant)。您还应确保已设置了适当的Project Facets Java版本。
模块属性->项目方面->Java 1.6应该被检查即使在做了上述更改之后,我还是得到了相同的错误,我所做的是 右键单击项目->属性->java编译器->编译器遵从性级别->将其更改为1.6
这一变化是该项目特有的。希望这能起作用。我通过设置env修复了它。变量JAVA_HOME.如果使用maven,请尝试添加到pom.xml中
<properties>
...
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
...
</properties>
...
1.7
1.7
...
否则,请尝试更改编译器版本。在eclipse中,转到Project->Properties->Java构建路径->Order and Export。
如果您正在使用多个JRE,请尝试像jdk和ibm这样的方式。订单应该从jdk开始,然后是IBM。这就是我的问题的解决方法。如果日志显示java.lang.UnsupportedClassVersionError:JVM****主版本错误 那么代码和服务器就不是用相同的JDK版本编译的 要解决此问题,请在代码或服务器JDK中切换JDK版本 试试这个:- 在下面的用例中,im切换到1.7_64(JDK 1.7 64位) c:\IBM\WebSphere\WSRR\v8.5\bin\managesdk.bat-enableProfile -档案名称WSRRSrv01-sdkname 1.7_64
嗨,我有同样的问题,但我不知道如何解决它。你能为这个问题提供一些直接的答案吗?我正在使用WebPare 8.5,其中WebPare使用1.6 internal和我的eclipse编译器1.7。如果你使用Java 7编译器并针对Java 6环境,你需要设置更高版本的编译器来生成符合1.6的字节码。请参见
javac
的-source
和-target
选项。这通常发生在maven项目中