此语言级别不支持intellij功能(...)。我无法编译

时间:2016-01-28 02:44:35

标签: java intellij-idea foreach java-8 java-7

IntelliJ向我显示this error

我刚刚建造了我的新电脑,我的java东西都没有工作......我的常规Intellij在我第一次尝试时正在工作,但是我的android工作室将无法安装,因为它无法找到jdk的路径。 Here是我问过的问题。由于那不起作用,我不得不多次重新安装java,现在我的IntelliJ不能正常工作。这是一个错误的图片(我收到一个错误,告诉我在这个语言级别不支持for-each循环)。

我试过在我的D:驱动器上安装JDK,但是没有用。我目前正在尝试使用java 1.8u71(尝试过u65和1.7u47),但这些都没有用过。

6 个答案:

答案 0 :(得分:35)

  

IntelliJ向我显示此错误

are not supported at this language level

将SDK / JDK与项目语言级别匹配

要在编辑器中激活Java语言功能,您需要更改模块的项目结构模块设置以确保 Project SDK < / strong>匹配项目语言级别

Project SDK(JDK)Java 1.5匹配项目语言级别5 ...

Java 1.6匹配语言级别6 ...

Java 1.7与语言级别7匹配,依此类推。

实施例

根据您的IntelliJ版本,在项目窗格中的模块上按 F4 Ctrl + Alt + Shift - S ,或按 Ctrl + Shift - A 并键入&#34;项目结构&#34;或&#34;模块设置&#34;打开“项目结构”对话框。

项目设置部分下,点击列表中的第一项项目

在下面的屏幕截图中,Project 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

如果您未在Project SDK下设置JDK,则问题不同。首先通过单击New并添加JDK来解决这个问题。

答案 1 :(得分:17)

当我在项目中有多个独立模块时,我必须在@activedecay's answer之外进行以下设置: 在Project Settings下,点击Modules。选择特定模块。选择合适的Language Level

Screenshot

答案 2 :(得分:4)

我也有同样的问题。

当我通过接口名称访问接口的静态方法时,出现错误消息

  

此语言级别5不支持静态接口方法调用

因为这是Java 1.8,所以我检查了一些内容:

  1. 我正在使用Intellij。因此,通过打开 CTRL + ALT + SHIFT + S ,打开“项目结构”对话框,转到

      

    项目->项目语言级别

    将此设置为SDK默认值(8 Lambda,类型注释等)。

  2. 在项目结构中打开

      

    模块->来源->语言级别

    将此设置为Project默认(8 Lambda,类型注释等)。

  3. 应用->确定。

然后错误将消失。

答案 3 :(得分:3)

我遇到了同样的问题,但我发现的解决方案都没有。

我正在使用Maven项目,因此决定尝试运行<h1> Hello World ! ------- also working, my requirent is i want to raise exception at this point if any tag is not closing their respective tag。它也说:

maven install

所以我将属性添加到Maven构建[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) 文件中:

pom.xml

刷新了IntelliJ中的Maven项目。它奏效了!

答案 4 :(得分:1)

我在Gradle项目中导致此错误的另一个问题是build.gradle文件中的sourceCompatibility设置。这也必须与您期望的值相匹配。我在创建新的Gradle项目时看到IntelliJ使用的默认值是1.5。例如,如果您使用lambdas,则会导致构建失败。

答案 5 :(得分:0)

让我用一张图片讲解。

  • 文件->项目结构->模块->属性选项卡->源兼容性(Java 8)

enter image description here