![](/img/trans.png)
[英]How do I change the Java version I'm using in IntelliJ (and Maven)?
[英]How to change Java version for Maven in IntelliJ?
我是 Maven 和 IntelliJ IDEA 的新手。
我有一個 Maven 項目,寫在 Java 8 中。每當我嘗試構建它時(Maven 項目 window -> 生命周期 -> 編譯 -> 運行 Maven 構建),我都會遇到一系列編譯錯誤:
[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 社區版 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 的語言級別!
在下面的代碼中,使用 maven-compiler-plugin 在 pom 中配置了 1.4
(Intellij的jdk是1.8),項目的語言級別也相應改成了1.4:
這是雙重檢查! 這是一個例子。 大多數時候你不會將 JDK 的版本降級到 1.4!
當然如果你使用properties,假設你放入pom 1.8,那么如果你在Intellij中使用1.8 JDK(語言級別默認為1.8或語言默認手動更改),那么你將可以在1.8中編碼但是在 mvn 編譯時,將不會看到屬性,您將默認使用 Maven 1.5 並且編譯不會成功!
我認為對這個問題的任何回答都沒有解決這個問題——“......在 IntelliJ 中”。
以下是步驟:-
在 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 中配置 maven 並更改為以下命令構建后不起作用,因此使用 Intellij maven 工具構建它。
Setting > Maven > Importer - select the `JDK`
Setting > Maven > Runner - select the `JRE`
之后,嘗試使用 Intellij maven 工具而不是 Intellij 控制台構建。
有兩種方法可以做到這一點:
首先 - 添加屬性
<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>
您應該在 pom.xml 中添加以下代碼以強制更改語言級別
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
現在, intelliJ 2019.3 CE 會為您執行此操作,如果您要導入然后按 alt+enter,您將看到一個選項,說“將語言級別更改為 8 以使用此功能”
打開 ubuntu 終端轉到您的根目錄並鍵入:
export JAVA_HOME = <path to jdk>
例如,它對我來說很好{在 IntelliJ 終端中做同樣的事情}。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
檢查設置值類型echo $JAVA_HOME
檢查 Maven 版本類型: mvn -version
您可以通過鍵入此命令找到 JDK 的所有路徑,並且您可以設置 JDK 版本。
sudo update-alternatives --config java
還要檢查你是否有相同的java -version
和javac -version
。
Here are the steps for intellij version# 2021.2 Ultimate Edition: -
Go to Settings in IntelliJ
Build, Execution, Deployment > Build Tools > Maven > importing > "JDK for Importer" then select your preferred java version, Click Apply
Build, Execution, Deployment > Build Tools > Maven > Runner > For "JRE" option select your preferred java version,
Click Apply
Click OK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.