2016-01-28 39 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