В чем причина UnsupportedClassVersionError?
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.MacLauncher.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Я совсем не понимаю этого; кто-нибудь может объяснить это просто? Спасибо
5 ответов
JAVA_HOME должен быть определен с использованием более ранней версии Java, чем та, которую вы использовали для компиляции.
Это означает, что ваш компилятор создавал что-то, предназначенное для более высокой версии Java, чем JVM, на которой вы пытаетесь его запустить.
например, скомпилирован для Java 6 и работает с Java 5.
Решение 1. Обновите jvm (введите java -version, чтобы увидеть, что у вас есть)
Решение 2: выберите более низкую версию (например, в настройках Java-компилятора eclipse)
Это говорит о том, что вы используете файл класса для другой версии времени выполнения Java. Какую программу вы устанавливаете (я замечаю installj в вашем стеке трассировки)?
Попробуйте обновить среду выполнения Java.
Я получаю эту ошибку при установке JRE
1,8 и попытался запустить Hello World
из GAE application
на Eclipse Kepler
, Это решение:
Я установил Java 8 support for Kepler
от Eclipse Marketplace
, Тогда я решил свою проблему, перейдя в Eclipse
-> Щелкните правой кнопкой мыши по файлу проекта -> Properties
-> Java Build Path
, Я удалил JRE System Library 1.6
нажал Add Library
-> JRE System Library
-> Installed JRE's
, Затем я нажал Search
, он автоматически нашел версию 1.8
а потом я вернулся к предыдущему виду, выбрал 1.8 и теперь все работает отлично!