Нужна помощь??Неустранимая ошибка компиляции: неверный целевой релиз: 1.8 - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу развернуть свой проект maven в Google Appengine, однако ошибка в этом:

[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @HospitalReservationSystem ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/rof/src/github.com/jessezzyy/Hospital-Reservation-System/target/HospitalReservationSystem-1.0-SNAPSHOT/WEB-INF/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.062 s [INFO] Finished at: 2018-09-26T15:17:24Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project HospitalReservationSystem: Fatal error compiling: invalid target release: 1.8 -> [Help 1]

Проект maven точно использует java8, и мой java jdk также имеет 1.8enter описание изображения здесь

ZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ echo $JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/HomeZIJIANdeMacBook-Pro:JavaVirtualMachines Jesse$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Я попытался изменить 1.7 вместо 1.8, но он показывает ошибку:

Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:1.3.2:deploy failed: Non zero exit: 1 -> [Help 1]

1 Ответ

0 голосов
/ 02 октября 2018

Сначала убедитесь, что у вас установлена ​​Java 8 и соответствующий компилятор.

Проверьте это, выполнив следующий код:

java -version

и

 javac -version

и

 mvn -version

Они должны быть одинаковой версии.Иногда Java указывает на правильную версию, но версия Javac может указывать на старый JDK.В этом случае вы можете применить следующие шаги:

A: Убедитесь, что символическая ссылка указывает на правильный jdk.если нет, просто удалите его и создайте новый для вашего jdk.Код:

cd /System/Library/Frameworks/JavaVM.framework/Versions/
rm CurrentJDK
ln -s /Library/Java/JavaVirtualMachines/<jdk version>.jdk/Contents/ CurrentJDK

B: Удалить файл tools.jar из расширения, поскольку он может быть связан со старой версией: Код:

cd /Library/Java/Extensions
-rw-r--r--  1 root  admin  15286304 Jan 14  2015 tools.jar

Удалить это:

sudo rm -rf /Library/Java/Extensions

Кроме того, вам также необходимо убедиться, что для% JAVA_HOME установлено значение 1.8 после установки 1.8 jdk.Имейте в виду, что неверный целевой выпуск относится к версии jdk.

Другое решение состоит в том, чтобы разветвить плагин maven-compiler-plugin и задать полный путь к правильному компилятору Java, как показано ниже:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <verbose>true</verbose>
        <fork>true</fork>
        <executable>C:\Program Files\Java\jdk1.8.0_79\bin\javac</executable>
    </configuration>
</plugin>

Эта проблема уже была опубликована вместе с полезными ответами и возможными решениями вашего вопроса: Нажмите здесь

Вот еще один вопрос, ранее опубликованный относительно этой же проблемы: Нажмите здесь

...