Java-приложение (jar), работающее в Windows, но не в Linux (сделано в Eclispe) - PullRequest
2 голосов
/ 11 июля 2011

Я сделал это приложение в среде Windows.В Eclipse я создал исполняемый файл .jar, перейдя по адресу File > Export > Executable Jar

. Я могу запустить приложение в Windows, открыв его с помощью Java.Однако в Linux, когда я запускаю java -jar app.jar, я получаю это:

Exception in thread "main" java.lang.UnsupportedClassVersionError: ConfigReader (Unsupported major.minor version 50.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

Что означает ошибка неподдерживаемой версии класса?

Ответы [ 3 ]

6 голосов
/ 11 июля 2011

Приложение, вероятно, было написано на Java 6, и вы пытаетесь запустить его на Java 5. Вы можете либо скомпилировать его под Java 5 в eclipse, либо установить Java 6 на свой Linux-компьютер

2 голосов
/ 11 июля 2011

Версия, в которой был скомпилирован jar, выше, чем версия, в которой вы пытаетесь запустить.

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/UnsupportedClassVersionError.html

java.lang.UnsupportedClassVersionError: Неверный номер версии в файле .class?

1 голос
/ 11 июля 2011

Это означает, что файл JAR был скомпилирован в версию байт-кода JVM, которую не может запустить установленная в данный момент JVM.

Вероятность того, что программа скомпилирована на более новой версии Java, превосходна, но оназапустите его на более старой версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...