Я видел похожие вопросы, но пока не нашел ответа.
Используя компиляцию maven, я получаю:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Вот pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Версия Javac:
javac 1.7.0_25
Версия Java:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Есть идеи, что это может быть?
mvn -version
. Он скажет вам, какую Java он использует.Ответы:
Вам нужно установить JAVA_HOME в домашний каталог jdk7, например, в Microsoft Windows:
или в OS X:
источник
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
source ~/.profile
Помимо установки
JAVA_HOME
переменной среды, вы должны убедиться, что используете правильный JDK в вашей конфигурации запуска Maven. Перейдите в « Выполнить» -> « Выполнить конфигурацию» , выберите конфигурацию сборки Maven, перейдите на вкладку JRE и установите правильную среду выполнения JRE.источник
В IntelliJ IDEA это случилось со мной, когда я импортировал проект, который работал нормально и работал с Java 1.7. Я, по-видимому, не уведомил IntelliJ, что на моем компьютере установлена java 1.7, и он не нашел мой
$JAVA_HOME
.На Mac это решается следующими способами:
Щелкните правой кнопкой мыши модуль | Настройки модуля | проект
и добавив 1.7 SDK, выбрав «New» в Project SDK.
Затем перейдите в главное меню IntelliJ IDEA | Предпочтения | Maven | полоз
и выберите правильный JRE. В моем случае он обновился правильно. Используйте Project SDK, который теперь был 1.7.
источник
Когда maven работает вне Eclipse, но выдает эту ошибку после изменения JDK, перейдите в свою конфигурацию запуска Maven и внизу главной страницы есть параметр «Maven Runtime». Моя использовала Embedded Maven, поэтому после переключения на использование моего внешнего maven все заработало.
источник
Это, вероятно, работает для многих вещей, но этого недостаточно для Maven и, конечно, не для плагина компилятора maven.
Проверьте ответ Майка на его собственный вопрос здесь: stackoverflow question 24705877
Это решило проблему для меня как в командной строке, так и в eclipse.
Кроме того, может помочь ответ @LinGao на вопрос о стеке 2503658 и использование переменной $ JAVACMD, но я сам ее не тестировал.
источник