Ошибка команды android-studio не могла даже открыть IDE [дубликат]

ls является частью coreutils. Вы можете получить его с помощью git:

git clone git://git.sv.gnu.org/coreutils

Вы найдете coreutils, перечисленные в других пакетах (прокрутите вниз) на на этой странице .

1415
задан Taryn 22 March 2017 в 17:20
поделиться

21 ответ

Показанный номер версии описывает версию JRE, совместимую с файлом класса.

Сообщенные основные номера:

Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(Источник: Wikipedia )

Чтобы исправить настоящую проблему, вы должны попробовать либо запустить Java-код с более новой версией Java JRE, либо указать целевой параметр компилятору Java, чтобы дать команду компилятору создать совместимый код с более ранними версиями Java.

Например, для генерации файлов классов, совместимых с Java 1.4, используйте следующую командную строку:

javac -target 1.4 HelloWorld.java

С более новыми версиями компилятора Java вы, вероятно, получите предупреждение о том, что путь класса bootstrap не задан. Более подробную информацию об этой ошибке можно найти в сообщении в блоге Новое предупреждение javac для установки более старого источника без bootclasspath .

1775
ответ дан nullpointer 16 August 2018 в 00:19
поделиться
  • 1
    "Показанный номер версии описывает, какая версия, если Java была использована для компиляции кода. & quot; Нет, это не так. Показывает версию JRE, что файл класса совместим с. Используя опции кросс-компиляции , вы можете использовать 1,7 JDK для компиляции кода с версией класса 1.1 (через 1.7). – Andrew Thompson 10 January 2013 в 07:31
  • 2
    Этот ответ не объясняет, как исправить это как заданный вопрос? – Jonathan Leung 5 March 2013 в 14:58
  • 3
    Это хорошее решение для компиляции предыдущей версии из Eclipse напрямую: stackoverflow.com/a/16345710/2091700 – Alphaaa 23 May 2013 в 15:03
  • 4
    IN eclipse project = & gt; Протесты = & gt; java-компилятор; установить "уровень соответствия компилятора" к версии в соответствии с вашим jre или jdk. Что касается меня, то это 1,6 для jre 1.6 – Sam 25 September 2013 в 15:58
  • 5
    Это может произойти, если источник компилятора установлен в несоблюдении компиляции JRE / JDK в настоящее время. Например, я нашел приведенные ниже значения из папки eclipse .settings, org.eclipse.jdt.core.compiler.compliance = 1.7, org.eclipse.jdt.core.compiler.source = 1.7, org.eclipse.jdt.core.compiler .codegen.targetPlatform = 1.7. И мой компилятор был 1.6.0_32. Проблема была решена после изменения значений до 1,6. Проблема возникла после того, как я скопировал проект из другого рабочего пространства, где я использовал JDK 1.7 :( – Gana 22 December 2014 в 07:22

В меню Eclipse Окно -> Предпочтения -> Java -> Компилятор также проверяет «Настроить проект Настройки ".

Если у вас есть ошибка с той же версией Java: попробуйте вручную удалить папку сборки вашего проекта. Затем перезапустите Eclipse.

15
ответ дан Andreas L. 16 August 2018 в 00:19
поделиться

Эта ошибка означает, что вы пытаетесь загрузить файл класса «Java», который был скомпилирован с более новой версией Java, чем вы установили.

Например, ваш файл .class мог быть скомпилирован для JDK 7, и вы пытаетесь запустить его с помощью JDK 6.

Таким образом, решение будет либо:

  • Обновите свою рабочую среду Java или
  • Перекомпилируйте класс, если у вас есть источник, используя локальный компилятор Java (если он у вас есть). javac FileName.java

Для разработчиков это может произойти, если другой разработчик проверяет файл .class, и у них есть более новая версия java, чем у вас есть.

37
ответ дан Brad Parks 16 August 2018 в 00:19
поделиться

Как было сказано в другом месте несколькими людьми, Java-программа запускается на более старой версии Java, чем та, для которой она была скомпилирована. Он должен быть «скомпилирован» для обратной совместимости. Другими словами, существует несоответствие между исходными и целевыми версиями Java.

Изменение параметров в меню Eclipse не отвечает на исходный плакат, который сказал, что он / она не использует Eclipse. В OpenJDK javac версии 1.7 вы можете перекрестно скопировать для 1.6, если вы используете параметры -source и -target, плюс укажите rt.jar -файл целевой версии (то есть более старую) во время компиляции. Если вы действительно установите 1.6 JRE, вы можете указать на его установку (например, /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar на Ubuntu, / usr / jdk / jdk1. 6.0_60 / jre / lib / rt.jar на SunOS. Извините, я не знаю, где он находится в системе Windows). Например:

javac -source 1.6 -target 1.6 -bootclasspath /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar HelloWorld.java

Похоже, вы можете просто скачать rt.jar из Интернета и указать на него. Это не слишком элегантно, хотя:

javac -source 1.6 -target 1.6 -bootclasspath ./rt.jar HelloWorld.java
10
ответ дан CollinD 16 August 2018 в 00:19
поделиться

Наиболее распространенной проблемой является некорректная конфигурация вашей переменной JAVA_HOME, которая должна указывать на нужную библиотеку Java Development Kit, если у вас несколько установленных.

Чтобы найти папку SDK Java, запустите следующие команды:

jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'

Debian / Ubuntu

Чтобы проверить, какой java (openjdk) вы установили, проверьте через:

dpkg -l "openjdk*" | grep ^i

или :

update-java-alternatives -l

Чтобы изменить его, используйте:

update-alternatives --config java

Префикс с sudo, если требуется.

, чтобы выбрать альтернативную версию java.

Или проверьте, какие доступны для установки:

apt-cache search ^openjdk

Префикс с sudo при необходимости.

Затем вы можете установить, например:

apt-get install openjdk-7-jre

Префикс с sudo при необходимости.

Fedora, Oracle Linux, Red Hat

Установить / обновить соответствующий пакет с помощью:

yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel

Пакет java-1.7.0-openjdk содержит только Java Runtime Environment. Если вы хотите разработать Java-программы, тогда установите пакет java-1.7.0-openjdk-devel.

BSD

В коллекции портов FreeBSD имеется пакет OpenJDK 7, называемый openjdk7 , который, вероятно, необходимо переконфигурировать.

Смотрите: Страница вики OpenJDK .

Windows

Просто установите соответствующую Java SE Development Kit с сайта Oracle или установить

Jenkins

Если вы столкнулись с этой проблемой с Jenkins, см.:

Однако следует выбрать правильную версию Java (новее) с update-alternatives.

17
ответ дан kenorb 16 August 2018 в 00:19
поделиться
  • 1
    Этот ответ работал для меня при попытке использовать spark2-shell на хосте после добавления службы искры в кластер с cloudera. – Alter 25 November 2017 в 00:16

У меня возникла проблема, когда мне приходилось запускать компиляцию Maven в моем проекте из командной строки для запуска моих модульных тестов; если я внес изменения в тестовый класс и позволю Eclipse автоматически перекомпилировать его, тогда я получил ошибку «Unsupported major.minor version 51.0».

У меня есть как JDK6, так и JDK7, но все мои JRE настройки указывали на 1.6, как на pom, так и на странице свойств проекта в Eclipse.

Наконец, я попытался закрыть проект и снова открыть его, и это, казалось, исправило это! НТН

2
ответ дан Matthew Wise 16 August 2018 в 00:19
поделиться

В моем случае проблема была в конфигурации времени выполнения сервера:

Проверьте, что JRE - это необходимая версия:

Проект был в версии 1.7, а сервер JRE был установлен как 1.6, после того, как он перешел к правильной версии Java, которую он начал нормально.

2
ответ дан Mike-Bell 16 August 2018 в 00:19
поделиться
  • Установите JDK 7.0.55 и установите Java для Eclipse для JDK 7.0.55.
  • Создайте проект с помощью JDK 7.0.55, настроив путь сборки JDK 7.0.55.
  • Установите компилятор в Eclipse для JDK 7.0.55 с помощью меню Windows -> Предпочтения -> Java -> Компилятор - выберите 1.7.
111
ответ дан Peter Mortensen 16 August 2018 в 00:19
поделиться
  • 1
    В eclipse иногда необходимо изменить грани проекта, соответствующие соответствующей java-версии. – Bilal Mirza 4 July 2013 в 08:59
  • 2
    java 7 может обрабатывать 6 без каких-либо проблем. – damienix 31 October 2013 в 12:23
  • 3
    Благодарю. Стоит отметить, что настройка среды исполнения Eclipse по умолчанию (JRE, которая идет по пути сборки) представляет собой отдельный параметр. Я установил JRE, но не уровень соответствия компилятора; это фиксировало это. – wchargin 26 January 2014 в 03:52
  • 4
    И как вы сделали вывод из сообщения об ошибке, что это было подходящее место для установки опции? – Alexander 24 October 2015 в 13:37
  • 5
    Мне нужно было сделать чистую установку maven, а также после изменения помпы. – Joe Borysko 22 September 2016 в 19:15
  • 6
    Возможно, это: stackoverflow.com/questions/7073485/… может помочь, если вы используете ant и eclipse. – OuuGiii 2 August 2017 в 07:46

У вас может быть библиотека JAR, скомпилированная в Java 7, и у вас есть только Java 6 как Java Runtime. Это может случиться с некоторыми новыми библиотеками.

13
ответ дан Rio 16 August 2018 в 00:19
поделиться

Вы скомпилировали свой Java-класс с JDK 7, и вы пытаетесь запустить тот же класс на JDK 6.

2
ответ дан Sagar Varpe 16 August 2018 в 00:19
поделиться

Если вы столкнулись с этой проблемой при использовании Maven , вы можете скомпилировать свой код с помощью подключаемого модуля Maven Compiler .

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
       .....

UPDATE: установите source и target на 1.8, если вы используете JDK 8.

7
ответ дан Thamme Gowda 16 August 2018 в 00:19
поделиться
  • 1
    фрагмент о том, как использовать плагин для кросс-компиляции, будет очень хорошим, вместо того, чтобы посещать / открывать ссылку – coding_idiot 1 November 2014 в 10:39

О Mac OS X Я смог решить эту проблему, установив переменную JAVA_HOME:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
4
ответ дан TomTom 16 August 2018 в 00:19
поделиться

Была ли эта проблема, когда я вернулся на Java 6 и попытался запустить классы, ранее скомпилированные с помощью Java 7. Что для меня работало, было Preferences> java> compiler -> установить уровень соответствия 1.6 и критически «настроить параметры проекта» ..

5
ответ дан user3534268 16 August 2018 в 00:19
поделиться

Как это исправить?

Эта ошибка означает, что JRE, который используется для выполнения вашего кода класса, не распознает используемую версию Java. Обычно, поскольку версия Java, которая сгенерировала ваш файл класса (т.е. скомпилировала его), является более новой.

Чтобы исправить это, вы можете либо

a) Скомпилировать ваши источники Java с тем же, или более старой версии компилятора Java, который будет использоваться для его запуска. т. е. установить соответствующий JDK.

b) Скомпилировать ваши источники Java с более новой версией компилятора Java, но в режиме совместимости. т.е. используйте параметр -target.

c) Запустите скомпилированные классы в JRE, которая является той же самой или новой версией, что и JDK, используемый для компиляции классов.

Вы может проверить версии, которые вы используете в настоящий момент с помощью javac -version для компилятора, и java -version для среды выполнения.

Должен ли я установить JDK и настроить свою переменную PATH на JDK вместо JRE?

Для компиляции, конечно же, установите и настройте конкретный JDK, который вы хотите.

Для среды исполнения вы можете использовать ту, которая поставляется с JDK или автономный JRE, но независимо от того, убедитесь, что вы установили правильные версии и что вы настроили свой PATH таким образом, чтобы не было сюрпризов.

В чем разница между переменной PATH в JRE или JDK?

Переменная среды PATH сообщает командной оболочке, где нужно искать введенную команду. Когда вы набираете java, интерпретатор командной оболочки будет просматривать все местоположения, указанные в переменной PATH слева направо, чтобы найти исполняемый файл исполняемого файла java для запуска. Если у вас есть несколько версий Java, то есть у вас есть исполняемый файл java в нескольких местах, указанных в переменной PATH, то первый, который встречается при движении слева направо, будет выполняться.

Команда компилятора javac и поставляется только с JDK. Команда runtime является java и поставляется с JDK и находится в JRE.

Вероятно, у вас установлена ​​одна версия (51.0 = Java 7) javac, и у вас также есть ту же версию java, но другая предыдущая версия java появляется раньше в PATH и поэтому вызывается вместо ожидаемого.

7
ответ дан Vihung 16 August 2018 в 00:19
поделиться

java.lang.UnsupportedClassVersionError происходит из-за более высокого JDK во время компиляции и более низкого JDK во время выполнения.

328
ответ дан Vivek Kumar Ray 16 August 2018 в 00:19
поделиться
  • 1
    +1: изменение этой символической ссылки (/etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java) на версию, используемую для компиляции с помощью javac. – ezdazuzena 6 August 2013 в 10:30
  • 2
    Как я могу сделать выше изменения? – Ankur Raiyani 14 August 2013 в 13:57
  • 3
    Проект - & gt; Свойства - & gt; Компилятор Java Включите специальные настройки проекта. Затем выберите уровень соответствия компилятора 1.7, 1.6 или 1.5, выполните сборку и протестируйте приложение. – Vivek Kumar Ray 16 August 2013 в 10:55
  • 4
    Подробнее см. Ссылку vivekraicdac.blogspot.in – Vivek Kumar Ray 16 August 2013 в 10:56
  • 5
    @ezdazuzena использовать sudo update-alternatives --config java для этого. – Thorbjørn Ravn Andersen 29 January 2014 в 12:06

У меня была аналогичная ситуация на Mac, и для меня работал следующий процесс:

В терминале введите

vi ~/.profile

Затем добавьте эту строку в файл и save

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home

, где версия является той, что на вашем компьютере, например 1.7.0_25.

Выйдите из редактора, затем введите следующую команду, чтобы она стала эффективной

source ~/.profile 

Затем введите java -version, чтобы проверить результат

java -version 

Что такое .profile файл?

. Файл файла является скрытым файлом. Это необязательный файл, который сообщает системе, какие команды запускаться, когда пользователь, чей файл профиля находится в нем. Например, если мое имя пользователя - bruno, и в файле / Users / bruno / содержится все .profile-файл, все его содержимое будет выполняться во время процедуры входа в систему.

Источник: http://computers.tutsplus.com/tutorials/speed-up-your-terminal-workflow-with- команда-псевдонимы-и-профиль - макинтош-30515

17
ответ дан kenorb 16 August 2018 в 00:19
поделиться

Сначала давайте рассмотрим некоторые основы ...

JRE является компонентом в NetBeans / Eclipse / standalone, который предоставит вам библиотеки, JVM, плагины Java и amp; Веб-начало Java. Обратите внимание, что он не предоставляет компиляторов или отладчиков.

JDK - это надмножество JRE наряду с compliers и debuggers.

Итак, когда у вас есть библиотека по умолчанию как JRE вместо JDK, у вас будет приятное время на импорт, но он не будет компилироваться.

Вместо этого укажите свой путь к JDK (я использую NetBeans, и я установил их с помощью netbeans.conf в netbeans / etc / netbeans.conf и измените путь).

111
ответ дан Peter Mortensen 16 August 2018 в 00:19
поделиться
  • 1
    В eclipse иногда необходимо изменить грани проекта, соответствующие соответствующей java-версии. – Bilal Mirza 4 July 2013 в 08:59
  • 2
    java 7 может обрабатывать 6 без каких-либо проблем. – damienix 31 October 2013 в 12:23
  • 3
    Благодарю. Стоит отметить, что настройка среды исполнения Eclipse по умолчанию (JRE, которая идет по пути сборки) представляет собой отдельный параметр. Я установил JRE, но не уровень соответствия компилятора; это фиксировало это. – wchargin 26 January 2014 в 03:52
  • 4
    И как вы сделали вывод из сообщения об ошибке, что это было подходящее место для установки опции? – Alexander 24 October 2015 в 13:37
  • 5
    Мне нужно было сделать чистую установку maven, а также после изменения помпы. – Joe Borysko 22 September 2016 в 19:15
  • 6
    Возможно, это: stackoverflow.com/questions/7073485/… может помочь, если вы используете ant и eclipse. – OuuGiii 2 August 2017 в 07:46
111
ответ дан Peter Mortensen 5 September 2018 в 23:54
поделиться
111
ответ дан Peter Mortensen 5 September 2018 в 23:54
поделиться
112
ответ дан Peter Mortensen 29 October 2018 в 06:44
поделиться
112
ответ дан Peter Mortensen 29 October 2018 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: