У меня есть файл jar с использованием Ant в ОС Windows с использованием Oracle Java 1.7. Когда я раскрываю банку на моей машине CentOS (который WAS 8.5.5) работает на открытом JDK 1.8, получаем следующее сообщение об ошибке:JVMCFRE003 bad major version
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, но он по-прежнему дает ту же ошибку. Пожалуйста помоги.
Можете ли вы втрое проверить свою версию java в сообщениях.log? Ваше время работы, вероятно, отличается/старше, чем вы думаете. – covener
Добавляя к этому, JDK, используемый для компиляции, рассказывает нам некоторые, но не все. Если у вас есть редактор шестнадцатеричных файлов, вы можете окончательно увидеть уровень соответствия .class, посмотрев на смещение байтов 6 и 7: https://en.wikipedia.org/wiki/Java_class_file#General_layout – ewhoch
@covener Трассировка стека говорит об этом полный профиль, поэтому заголовок сообщения будет в SystemOut.log. Я подозреваю, что используется по умолчанию Java 6. –