2016-01-28 49 views
10

的IntelliJ正顯示出我this errorintellij功能(...)不支持在此語言級別。我不能編譯

我剛剛建立我的新電腦,沒有的我的Java的東西是工作...我經常的IntelliJ是工作,當我第一次嘗試了,但我的Android工作室會」因爲無法找到jdk的路徑,所以請進行安裝。 Here是我問到的問題。由於這不起作用,我不得不多次重新安裝java,現在我的IntelliJ無法正常工作。這裏是一個錯誤的圖片(我收到一個錯誤,告訴我for - 在這個語言級別不支持每個循環)。

我試圖在我的D:驅動器上安裝JDK,但沒有奏效。我目前正在嘗試使用java 1.8u71(已嘗試過u65和1.7u47),除此之外沒有任何工作。

+0

什麼是該項目的編譯器設置? –

回答

21

的IntelliJ正顯示出我這個錯誤

are not supported at this language level

匹配的SDK/JDK與項目的語言水平

要激活在編輯器中的Java語言功能,您需要更改模塊的項目結構模塊設置以確保您的項目SDK匹配項目語言級別

項目SDK(JDK)的Java 1.5比賽的項目語言水平5 ...

Java 1.6的匹配語言水平6 ...

的Java 1.7的匹配語言水平7,依此類推。

根據您的IntelliJ版本,打F4按Ctrl + Alt + Shift - S在項目窗格中的模塊,或者打按Ctrl + Shift - 一個和輸入任一「項目結構「或」模塊設置「打開」項目結構「對話框。

項目設置部分,點擊列表中的第一項,項目

在下面的截圖中,項目SDK 1.8 (java version '1.8.0_72')選擇的語言水平SDK Default (8 - Lambdas, type annotations etc.)因爲Java 1.8 SDK的比賽水平8 這激活了Java 8語言特性在編輯器搭配使用。

project structure

如果沒有JDK建立Project SDK這是一個不同的問題下。首先通過點擊New並添加一個JDK來解決這個問題。

+0

謝謝,那讓它工作 –

+0

很酷,請接受這個作爲正確答案 – activedecay

+0

做完了,我接受了,謝謝你 –

1

我有這個相同的問題,沒有我找到的解決方案工作。

我正在使用Maven項目,因此決定嘗試運行maven install。它也說:

[ERROR] thefile.java:[24,77] diamond operator is not supported in -source 1.5 
[ERROR] (use -source 7 or higher to enable diamond operator) 
[ERROR] theFile.java:[91,62] lambda expressions are not supported in -source 1.5 
[ERROR] (use -source 8 or higher to enable lambda expressions) 

所以我加了屬性,Maven構建pom.xml文件:

<properties> 
    <spring.version>4.1.6.RELEASE</spring.version> 
    <java.version>1.8</java.version> 
    <maven.compiler.source>${java.version}</maven.compiler.source> 
    <maven.compiler.target>${java.version}</maven.compiler.target> 
</properties> 

而在刷新的IntelliJ Maven項目。有效!

0

我在Gradle項目中導致此錯誤的另一個問題是build.gradle文件中的sourceCompatibility設置。這也必須匹配你所期望的值。創建新的Gradle項目時,我看到IntelliJ使用的默認值爲1.5。例如,如果您使用lambda表達式,則會導致構建失敗。

7

當我有項目的多個獨立的模塊,我需要做下面除了設置爲@activedecay's answer: 在Project Settings,點擊Modules。選擇特定的模塊。選擇合適的Language Level

Screenshot