Java Can';t在IntelliJ中使用jdk 11编译,找不到符号

Java Can';t在IntelliJ中使用jdk 11编译,找不到符号,java,intellij-idea,java-11,Java,Intellij Idea,Java 11,我设置了JDK 11,它会一直编译,直到我使用Java 11的新方法isBlank(),当我使用该方法时,这个错误会在编译时出现,我尝试清理JDK安装,清理IntelliJ中的缓存,重建,但没有任何帮助。错误是: 您可以使用JDK 11进行编译,但如果您使用较旧版本的java进行编译,它将找不到该方法 进入File>Project Structure->Project,检查项目语言级别,如下图箭头所示: 不使用项目语言级别10: 使用项目语言11级工作良好: 请注意,我有以下Java编译器设

我设置了JDK 11,它会一直编译,直到我使用Java 11的新方法
isBlank()
,当我使用该方法时,这个错误会在编译时出现,我尝试清理JDK安装,清理IntelliJ中的缓存,重建,但没有任何帮助。错误是:


您可以使用JDK 11进行编译,但如果您使用较旧版本的java进行编译,它将找不到该方法

进入
File>Project Structure->Project
,检查项目语言级别,如下图箭头所示:

不使用项目语言级别10:

使用项目语言11级工作良好:

请注意,我有以下Java编译器设置(使用IntelliJ 2018.3的新项目的默认设置): 项目字节码版本与语言级别相同!
尝试将编译器目标字节码版本设置为11


转到
设置
-
生成、执行、部署
-
编译器
-
Java编译器
并将模块的目标字节码版本设置为11

您应该检查以下事项:

  • 您已经将JDK11定义为SDK之一:
  • 项目的默认SDK为JDK11,项目的默认语言级别为11:
  • 你的模块语言水平也是11 如果使用Maven,请检查
    pom.xml
    中的编译器插件“source”和“target”属性是否为11。在这种情况下,您的模块语言级别配置将从
    pom.xml
    配置导入

         <properties>
             <maven.compiler.source>11</maven.compiler.source>
             <maven.compiler.target>11</maven.compiler.target>
         </properties>
    
    
    11
    11
    

    
    org.apache.maven.plugins
    

  • 在我的案例中,使用IntelliJ IDEA 2018.2.4中的Maven 3.5.4进行测试,在项目语言级别上甚至没有显示11。所以我必须选择X,就像下面的截图一样


    我也有类似的问题。找不到Java 11功能的GET符号。虽然一切都设置为11

    解决方案是,在我的想法设置中,gradlejvm被设置为jdk8。(因为我后来添加了JDK 11)

    正如
    sourcecompatibility
    targetCompatibility
    中未在我的build.gradle中设置的那样,gradle守护进程(从Idea开始)正在运行并使用JDK 8编译。这些属性动态设置为8(或1.8)

    告诉我将Gradle的JVM设置为11是我的解决方案:


    问题中的图像显示使用了
    javac11
    。如何推断项目级别设置不正确?向下投票。@nullpointer由于isBlank()在Java 11中是新出现的,没有将项目语言级别设置为11很可能是问题的原因。@nullpointer我添加了屏幕截图以更清楚地演示其效果。它显示的错误与OP遇到的错误相同。该选项在我的IDE中是beta版,因为2018.3版本尚未发布,它应该在官方更新发布时修复错误,但目前caco3解决方案工作正常。是的,我使用的是beta版,但是,项目语言级别的选项已经在几个稳定版本中可用,您确切指的是什么选项?请编辑问题并完全共享图像,而不是链接。请务必告诉我们,您使用的IntelliJ版本是什么?@starsuper您是否设法解决了此问题?如果是,如何解决?我也有同样的问题,并且已经努力寻找解决方案三天了。到目前为止,这里没有一个答案能够成功构建。很好的补充。我已经在我的答案中添加了这些设置的屏幕截图,以使其更加完整:-)这是我从1.8->11更新项目后得到的。当然,只有一个模块受到影响!“主”设置和每个模块设置中的所有内容都设置为项目默认值(为11),并从mvn cli正常运行-不知道intellij中是如何失去同步的。它工作正常。谢谢@caco3。您需要将11编译器版本应用于项目内的所有模块。这对IDEA 2020有效,对于较旧的想法,其他答案也有帮助。谢谢,这很有用。请注意,OP编译错误显示在默认构建选项卡(使用IntelliJ编译)中,而不是使用maven。很好的补充,但这可能适用于其他使用maven的有类似问题的人。即使您的模块是基于maven的,您仍然可以尝试由IntelliJ IDEA自己构建或重建您的项目。我的也一样。。您知道如何获得Java11的项目语言级别了吗?最后是一个可行的解决方案。关键是改变“GradleJVM”。其他解决方案都不起作用。这个问题已经存在很长时间了。
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
         </plugin>