我在使用 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 编译,但它仍然给出同样的错误。请帮忙。
最佳答案
JVMCFRE003 看起来像一个 IBM Java 错误代码,所以我认为您的应用程序服务器没有运行 Open JDK。您可以通过查看 SystemOut 日志的顶部来确认使用的 java 版本。
如果您使用的是传统的 Websphere Application Server(而不是 liberty),那么它将始终使用与应用服务器一起安装的 JRE。
在这种情况下,使用安装管理器确保安装了适当的 Java 级别,然后使用 managesdk command启用它。
关于java - JVMCFRE003 错误的主要版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777082/