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

发布于 2018-09-26 15:02:57
尝试将编译器目标字节码版本设置为11。
转到Settings - Build, Execution, Deployment - Compiler - Java compiler并将模块的目标字节码版本设置为11
发布于 2018-09-27 06:50:02
您应该检查以下内容:



如果您使用pom.xml,请检查pom.xml中的编译器插件“源”和“目标”属性是否为11。
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>或
<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>如果您pom.xml具有错误的源或目标级别,您可能需要在更改pom.xml后右键单击| Maven | Reimport。如果你使用Gradle,你应该检查你是否有类似的配置。


使用IntelliJ IDEA 2018.2.4中的Maven3.5.4进行测试
发布于 2018-09-26 14:16:04
您可以使用JDK 11进行编译,但是如果您使用旧版本的java进行编译,它将无法找到该方法。
转到File > Project Structure -> Project并检查项目语言级别,如下图箭头所示:
不使用项目语言级别10:

可以很好地使用项目语言级别11:

注意,我有以下Java Compiler设置(使用IntelliJ 2018.3的新项目的默认设置):项目字节码版本与语言级别相同!

https://stackoverflow.com/questions/52510671
复制相似问题