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

Set*_* G. 20 java foreach intellij-idea java-7 java-8

IntelliJ正在向我显示此错误

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

我试图在我的D:驱动器上安装JDK,但是没有用.我目前正在尝试使用java 1.8u71(尝试过u65和1.7u47),但没有一个有效.

act*_*cay 41

IntelliJ正在向我显示此错误

在此语言级别不受支持

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

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

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

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

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

根据您的IntelliJ版本,在"项目"窗格中单击F4Ctrl + Alt + Shift - S打开模块,或者单击Ctrl + Shift - A"项目结构"或"模块设置"以打开"项目结构"对话框.

在" 项目设置"部分下,单击列表中的第一个项目" 项目".

在下面的屏幕截图中,Project SDK 1.8 (java version '1.8.0_72')与所选语言级别匹配,SDK Default (8 - Lambdas, type annotations etc.)因为Java 1.8与SDK级别8匹配.这将激活Java 8语言功能以在编辑器中使用.

项目结构

如果你没有设置JDK,Project SDK那就是另一个问题.首先通过单击New并添加JDK 来解决这个问题.

  • 我必须转到“项目结构”->“模块”->“源”选项卡,然后在“源”选项卡中更改“语言级别”。 (2认同)

ram*_*ech 23

当我在项目中有多个独立模块时,除了@ activedecay的答案之外,我还必须进行以下设置:在Project Settings,单击下Modules.选择特定模块.选择合适的Language Level.

截图


Han*_*kCa 7

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

我正在使用 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)
Run Code Online (Sandbox Code Playgroud)

所以我将属性添加到 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>
Run Code Online (Sandbox Code Playgroud)

并在 IntelliJ 中刷新了 Maven 项目。有效!


小智 5

我也有同样的问题。

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

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

由于这是Java 1.8,因此我检查了一些内容:

  1. 我正在使用Intellij。因此,通过这样做CTRL+ ALT+ SHIFT+ S项目结构对话框打开,去

    项目->项目语言级别

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

  2. 在项目结构中打开

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

    将此设置为项目默认值(8 Lambda,键入注释等)。

  3. 应用->确定。

然后错误将消失。