Ответ 1
Или проще, добавьте это в раздел pom properties
:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Я новичок в 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.
Или проще, добавьте это в раздел pom properties
:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Сводка:
Чтобы изменить уровень языка, используйте
<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, и компиляция НЕ будет успешной!
Измените источник, как показано ниже в 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>
Добавление ниже строк в 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
Есть два способа сделать это:
Сначала добавить свойства
<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>