Как изменить версию Java для Maven в IntelliJ?

Я новичок в Maven и IntelliJ IDEA.

У меня есть проект Maven, написанный на Java 8. Всякий раз, когда я пытаюсь его построить (окно Maven Projects → Lifecycle → compile → Run Maven Build), я получаю ряд ошибок компиляции:

[ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5
(use -source 8 or higher to enable lambda expressions)

Где я должен изменить значение параметра -source? Я попытался добавить его в качестве дополнительного параметра в "Настройки" → "Компилятор" → "Компилятор Java", но я получил те же результаты.

Уровни языка проекта и модуля установлены на 8.0.

Я использую Maven 3.2.3 и IntelliJ IDEA Community Edition 13.1.2.

Ответ 1

Или проще, добавьте это в раздел pom properties:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Ответ 2

Сводка:

  • 'maven-compiler-plugin' ВСЕГДА работаем! Это то, что я предлагаю вам использовать.

Чтобы изменить уровень языка, используйте

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.4</source>
                <target>1.4</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Свойства не всегда меняют уровень языка Intellij!

В приведенном ниже коде 1.4 был настроен в pom, используя maven-compiler-plugin
(jdk Intellij - 1,8), и языковой уровень проекта был изменен в соответствии с 1.4:

введите описание изображения здесь

Он был дважды проверен! Это пример. В большинстве случаев вы не будете понижать версию JDK до 1.4!

Конечно, если вы используете свойства, скажем, вы ввели pom 1.8, то, если вы используете 1.8 JDK в Intellij (уровень языка по умолчанию - 1,8 или язык по умолчанию был изменен вручную), то вы сможете код в 1.8 , но при компиляции mvn свойства НЕ будут видны, и вы по умолчанию будете Maven 1.5, и компиляция НЕ будет успешной!

Ответ 3

Измените источник, как показано ниже в pom.xml

<build>
        <finalName>MQService</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

Ответ 4

Добавление ниже строк в root (уровень проекта) pom.xml помог мне решить вышеуказанную проблему: (оба варианта работали для меня)

Вариант 1:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Вариант 2:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

изначально размещен по адресу: IntelliJ IDEA 13 использует Java 1.5, несмотря на настройку в 1.7

Ответ 5

Есть два способа сделать это:

Сначала добавить свойства

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

second-Добавить плагин

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
</plugin>