При сборке Maven-ом выходит ошибка, подобная вот такой:
1 2 3 |
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3. 1:compile (default-compile) on project projectdoc-mvn-plugin: Fatal error compil ing: invalid target release: 1.8 -> [Help 1] |
Причина этой ошибки в том, что версия Java, под которую компилируется проект, выше, чем версия Java, на которую указывает переменная окружения JAVA_HOME. В моём случае, например, JAVA_HOME указывала на “C:\Program Files\Java\jdk1.7.0_80”. Я просто поменял её так, чтобы она указывала на правильную версию JDK, то есть на “C:\Program Files\Java\jdk1.8.0_91”.
В Windows переменную среды окружения можно задать в консоли:
1 |
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_91 |
Ещё лучше зайти в Панель управления и задать в поиске «переменные среды». В появившихся результатах выбрать «Изменение переменных среды текущего пользователя» и добавить переменную JAVA_HOME туда. В этом случае не придётся задавать её каждый раз вручную в консоли.
В Linux переменную среды окружения можно задать в консоли:
1 |
$ JAVA_HOME=/home/fedya/jdk1.8_91 |
Или можно задать её в файле “~/.bashrc”, чтобы не нужно было задавать её каждый раз вручную, для этого добавьте туда строчку:
1 |
export JAVA_HOME=/home/fedya/jdk1.8_91 |
Для винды есть метод проще.
JAVA_HOME смотрит на C:\java\jdk
C:/java/jdk — это симлинк (mklink /D …) на нужную версию.
Есть пара-тройка bat-файлов, которые меняют симлинк на нудную версию, если приходится работать с разными версиями явы.
Некоторые программы типа IDE и серверов приложений, запоминают путь к JDK, а в такой схеме он не меняется.