it-roy-ru.com

Неустранимая ошибка компиляции: неверный целевой релиз: 1.8 -> [Help 1]

Проблема, аналогичная той, которая была опубликована в неверный целевой выпуск: 1.7 но после просмотра блога моя проблема все еще не решена.

Не удалось выполнить цель org.Apache.maven.plugins: maven-compiler-plugin: 3.1: compile (default-compile) для проекта hm_app: фатальная ошибка компиляции: недопустимый целевой выпуск: 1.8 -> [Help 1]

Я следовал как учебник когда столкнулся с этой проблемой.

abt Java & mvn

C:\mvn>echo %Java_HOME% 
C:\mvn>echo %JRE_HOME%
C:\mvn>echo %MAVEN_HOME% yields

Результаты

C:\Program Files\Java\jdk1.7.0_51
C:\Program Files\Java\jre7
C:\Apache-maven-3.0.4
139
rvd

Вы установили свой %Java_HOME на jdk 1.7, но вы пытаетесь скомпилировать, используя 1.8. Установите jdk 1.8 и убедитесь, что ваш %Java_HOME указывает на это или сбросьте целевой выпуск до 1.7. 

неверный целевой выпуск: 1,8

Целевая версия ссылается на версию jdk.

233
Zavior

Поместите значение в плагин:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

Ошибка была использована:

<source>${Java.version}</source>
<target>${Java.version}</target>
22
Camila Macedo

В моем случае maven "Run configuration" использовал неправильную JRE (1.7). Обязательно проверьте Run -> Run Configurations -> (Tab) JRE , чтобы быть некоторым jdk1.8.x.

19
Roland Ettinger

Проблема была решена, так как у меня был JDK, указывающий на 1,7, и JRE, указывающий на 1,8. Проверьте в команде Подскажите мой набор текста 

Java -version

а также 

javac -version.

Оба должны быть одинаковыми.

8
Bikramjit Saha

Вот как я решил Eclipse:

  1. Настройки -> Компилятор -> Уровень компилятора компилятора (изменение на 1.8)  enter image description here

  2. Perferences -> Установленные JRE -> выберите Java SE 8 1.8  enter image description here

  3. Перестройте через maven, используя Run as maven build.

Это больше не должно показывать вам неверную целевую ошибку. 
Примечание: мне не нужно было устанавливать или изменять какие-либо другие переменные в моем терминале . Надеюсь, это поможет.

2
РАВИ

Помещение этого в ваш .profile будет динамически заботиться о вашем $Java_HOME

export Java_HOME=$(/usr/libexec/Java_home)

После этого закройте свою оболочку, откройте новую и проверьте

echo $Java_HOME

Должно отображать что-то вроде

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

Если нет , удалите любые другие назначения Java_HOME в ваших сценариях запуска. Помните, что эти сценарии запуска начинаются с ., поэтому они скрыты и не будут включены при использовании подстановочного знака *, например, если вы хотите выполнить grep всех файлов вашего домашнего каталога, вам необходимо:

grep -s Java_HOME ~/.* --exclude=.bash_history
1
lilalinux

Выполните принудительное обновление Maven, которое принесет совместимые версии 1.8 Jar, а затем при сборке обновите версии JRE в среде выполнения до 1.8 из конфигурации запуска и нажмите RUN.

0
Sandy

На Windows-машине вы можете временно установить версию Java.
Например, чтобы изменить версию на Java 8, выполните эту команду на cmd

set Java_HOME=C:\\...\jdk1.8.0_65
0
user1316369

Проблема, с которой я столкнулся, заключалась в том, что я смог сделать сборку maven из командной строки, а не из Eclipse. Для меня в Eclipse сработало то, что я изменил конфигурацию запуска так, чтобы она указывала на папку JRE внутри JDK, а не оставляла ее в Папка JDK только в соответствии со стандартом. Это решение может работать и для вас, но попробуйте это, если и только если все пути Java верны, Java и javac показывают ту же версию, что и в целевом файле pom.xml.

0
Vaibhav Gupta

Этот вопрос не задавался явно о Docker, но я получил ту же ошибку, когда у меня был файл pom.xml, предназначенный для 1.9 ...

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.9</maven.compiler.source>
  <maven.compiler.target>1.9</maven.compiler.target>
</properties>

... но затем попытался запустить тесты для контейнера Docker, указав "maven" сам по себе. 

docker run -t --rm -v m2_repository:/root/.m2/repository -v $(pwd):/work -w /work maven mvn -e test

Для меня исправление было нацелено на точную нужную мне версию.

docker run -t --rm -v m2_repository:/root/.m2/repository -v $(pwd):/work -w /work maven:3.5.2-jdk-9 mvn test

(Вы можете узнать больше здесь .)

0
Grant

Я столкнулся с этой проблемой при развертывании на Dokku, по какой-то причине он выбирал JDK 1.7

Создание файла system.properties и настройка Java.runtime.version=1.8 решили проблему. Dokku теперь использует Java версии 8 . Выбор JDK для Heroku

Мне никогда не приходилось делать это раньше ...

0