IntelliJ向我显示this error
我刚刚建造了我的新电脑,我的java东西都没有工作......我的常规Intellij在我第一次尝试时正在工作,但是我的android工作室将无法安装,因为它无法找到jdk的路径。 Here是我问过的问题。由于那不起作用,我不得不多次重新安装java,现在我的IntelliJ不能正常工作。这是一个错误的图片(我收到一个错误,告诉我在这个语言级别不支持for-each循环)。
我试过在我的D:驱动器上安装JDK,但是没有用。我目前正在尝试使用java 1.8u71(尝试过u65和1.7u47),但这些都没有用过。
答案 0 :(得分:35)
IntelliJ向我显示此错误
要在编辑器中激活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 SDK
下设置JDK,则问题不同。首先通过单击New
并添加JDK来解决这个问题。
答案 1 :(得分:17)
当我在项目中有多个独立模块时,我必须在@activedecay's answer之外进行以下设置:
在Project Settings
下,点击Modules
。选择特定模块。选择合适的Language Level
。
答案 2 :(得分:4)
我也有同样的问题。
当我通过接口名称访问接口的静态方法时,出现错误消息
此语言级别5不支持静态接口方法调用
因为这是Java 1.8,所以我检查了一些内容:
我正在使用Intellij。因此,通过打开 CTRL + ALT + SHIFT + S ,打开“项目结构”对话框,转到
项目->项目语言级别
将此设置为SDK默认值(8 Lambda,类型注释等)。
在项目结构中打开
模块->来源->语言级别
将此设置为Project默认(8 Lambda,类型注释等)。
应用->确定。
然后错误将消失。
答案 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)