Не удалось выполнить задачу ': compileJava'. ›Неверный исходный код: 1.7

Я использую :

  1. град-2.3
  2. javac -version = 1,7
  3. jre = 1,7
  4. regedit показывает, что указывает на версию 1.7.

Но я все еще получаю ошибку ниже

Не удалось выполнить задачу ': compileJava'. > недопустимый исходный код: 1.7

Пожалуйста, дайте мне знать, как это исправить.


person BdEngineer    schedule 26.05.2015    source источник
comment
У меня такая же ошибка. Не могли бы вы помочь мне с этой сборкой Gradle [ссылка] (paste.ubuntu.com/12249210)   -  person Hiren    schedule 02.09.2015


Ответы (6)


Вы говорите, что используете Java 7, но действительно ли вы уверены?

Поскольку, насколько мне известно, эта ошибка возникает именно тогда, когда вы используете исходный / целевой уровень, который не поддерживается JVM, с которым вы запускаете Gradle. Итак, если бы я мог предположить, я бы сказал, что gradle, похоже, думает, что ваш JDK не поддерживает Java 7 (поэтому его JDK 6 или ниже)

Может быть, дважды проверьте это

a) Сам Gradle работает с JDK 7. Если вы запустите gradle из Eclipse с помощью инструментария STS gradle, он будет использовать JRE рабочей области по умолчанию для запуска gradle. Убедитесь, что это хотя бы JDK 7. (Перейдите в «Windows >> Настройки >> Java >> Установленная JRE». JRE с галочкой - это та, с которой будет работать Gradle).

б) Gradle может случайно выбрать другой JDK для компиляции, если найдет переменную окружения JAVA_HOME. Поэтому дважды проверьте, не указывает ли он на JDK 6 или ниже.

person Kris    schedule 26.05.2015
comment
В моем случае ПУТЬ был правильным, но JAVA_HOME был неправильным - person ISparkes; 08.01.2016
comment
В моем случае у моего проекта IntelliJ была java 1.8, но у Gradle JVM была 1.7. Изменен Gradle JVM в настройках, и теперь все работает - person tonisives; 06.09.2017

Вы можете установить версию JDK, используемую gradle для сборки, добавив в свой проект файл «gradle.properties». Добавьте следующее свойство:

org.gradle.java.home = <Path to the JDK you want to use for your project>

Я согласен с предыдущим ответом, что вам также следует проверить, совпадают ли JDK и sourceCompatibility.

person Jens    schedule 18.07.2015
comment
‹3, это сводило меня с ума - кстати, для тех, у кого была такая же проблема, я испортил свой проект, установив старую версию java для поддержки Adobe Illustrator на Mac, и это помогло - person Srneczek; 09.02.2016
comment
Указал мне на основную причину: я забыл установить Gradle JVM в Ctrl+Alt+S/Build Tools/Gradle/Gradle JVM после обновления JDK. - person Tomáš Záluský; 27.04.2021

чтобы проверить, действительно ли $ JAVA_HOME указывает на java # echo $JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk # java -version openjdk версии "1.8.0_151" по умолчанию, если он смещен, как указано выше, для изменения $ JAVA_HOME в / etc / profile (или, альтернативно, .profile / .bashprofile / в домашнем каталоге вашего пользователя) позволяет указывать на JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk BTW: решено в Centos7 для исправления недопустимого выпуска 1.8

person Shan Lastmile    schedule 07.12.2017

Попробуйте следующее в своем градиенте сборки:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Если это не сработает, предоставьте содержимое вашего build.gradle.

person Julian Pieles    schedule 26.05.2015

В моем случае Gradle работал на JRE вместо JDK (неправильный набор JAVA_HOME). Указание моего JAVA_HOME на корень JDK исправило сборку. (Конечно, если в вашем PATH есть% JAVA_HOME% \ bin)

Причина:

В JDK есть javac для компиляции java, а в JRE - нет.

person Pam Stums    schedule 30.05.2017

Просто был "баг" с 1.8 java

Решено: Findbugs показал мне ü в названии метода (не разрешено в градиенте)

person sparksen    schedule 26.07.2017