私はMavenとIntelliJ IDEAの両方が初めてです。
MavenプロジェクトをJava 8。
[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パラメータの値を変更する場所はどこですか? Settings-> Compiler-> Java Compilerの追加パラメータとして追加しようとしましたが、同じ結果が得られました。
プロジェクトとモジュールの言語レベルは両方とも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の言語レベルを変更しませんalways!
以下のコードでは、maven-compiler-pluginを使用してpomで1.4が構成されました
(Intellijのjdkは1.8です)、プロジェクトの言語レベルはそれに応じて1.4に変更されました。
ダブルチェックされました!これは一例です。ほとんどの場合、JDKのバージョンを1.4にダウングレードしません!
もちろん、プロパティを使用する場合、pom 1.8に入れ、Intellijで1.8 JDKを使用すると(言語レベルのデフォルトは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>
これを行うには2つの方法があります。
最初にプロパティを追加
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
秒-プラグインの追加
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>