недопустимый целевой выпуск: 1.7


Я видел подобные вопросы, но еще не нашел ответа.

используя компиляцию 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]

вот пом.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)

идеи, что это может быть?

5 119

5 ответов:

вам нужно установить JAVA_HOME в свой домашний каталог jdk7, например, в Microsoft Windows:

  • "C:\Program файлы\Java\jdk1.7. 0_40"

или на OS X:

  • / Library / Java/JavaVirtualMachines / jdk1.7.0_40.jdk / Contents / Home

кроме установки JAVA_HOME переменная окружения, вы должны убедиться, что используете правильный JDK в конфигурации запуска Maven. Перейти к Run ->Выполнить Конфигурации, выберите конфигурацию сборки Maven, перейдите на вкладку JRE и установите правильный JRE во время выполнения.

Maven run configuration

в IntelliJ IDEA это произошло со мной, когда я импортировал проект, который работал нормально и работал с Java 1.7. Я, видимо, не уведомил IntelliJ, что java 1.7 был установлен на моей машине, и он не находил мой $JAVA_HOME.

на Mac, это решается с помощью:

щелкните правой кнопкой мыши на модуле / настройки модуля / проект

и добавление 1.7 SDK, выбрав "новый" в проекте SDK.

затем перейдите к главному IntelliJ Меню Идеи / настройки / Maven / Runner

и выберите правильный JRE. В моем случае он обновился правильно использовать Project SDK, который теперь был 1.7.

когда maven работает за пределами Eclipse, но дает эту ошибку после изменения JDK, перейдите к конфигурации запуска Maven, и в нижней части главной страницы есть опция "Maven Runtime". Мой использовал встроенный Maven, поэтому после переключения его на использование моего внешнего maven он работал.

Это, вероятно, работает для многих вещей, но этого недостаточно для Maven и, конечно, не для плагина компилятора maven.

Проверьте ответ Майка на его собственный вопрос здесь: stackoverflow вопрос 24705877

Это решило проблему для меня как в командной строке, так и в eclipse.

кроме того, @LinGao ответ на stackoverflow вопрос 2503658 и использование переменной $JAVACMD может помочь, но я не проверял его себя.