我使用Oracle Java 1.7在Windows操作系统上使用Ant构建了一个jar文件。当我在运行在打开的JDK 1.8上的CentOS机器(具有WAS 8.5.5)上部署jar时,会出现以下错误:
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=com/ac/ps/ft/home/ad/cr/testclass, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:295)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:853)
at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:763)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:586)
at java.lang.ClassLoader.loadClass(ClassLoader.java:690)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
我不确定究竟是什么问题。我尝试使用Java 1.8进行编译,但它仍然会出现相同的错误。请帮忙。
答案 0 :(得分:4)
JVMCFRE003看起来像IBM Java错误代码,因此我认为您的应用程序服务器不是使用Open JDK运行的。您可以通过查看SystemOut日志的顶部来确认使用的Java版本。
如果您使用的是传统的Websphere Application Server(而不是自由),那么它将始终使用随应用服务器一起安装的JRE。
在这种情况下,请使用安装管理器确保安装了适当的Java级别,然后使用managesdk command启用它。