Intellij Idea IntelliJ:找不到java.util,可选

nfzehxib  于 2023-02-11  发布在  Java
关注(0)|答案(6)|浏览(481)

在IntelliJ的一个新项目中,我设置了Java 8 JRE/JDK和语言级别8.0。
但由于某种原因,IDE找不到java.util.Optional。项目编译和工作正常(在IDE内部也是如此),但代码完成不起作用。
有什么想法吗?我想问几个其他用户之前,他们的错误跟踪创建一个票...

1wnzp6jl

1wnzp6jl1#

我终于弄明白了这一点。不管出于什么原因,在编辑器、常规和自动导入下的排除项中有一个java.util.optional的条目。
把它移走就成功了。不知道它是如何或为什么会在那里的。听起来不像是我想做的任何事情。

dba5bblo

dba5bblo2#

愚蠢的智力J。
我有一个SpringBoot项目,运行得很好。然后,第二天,当我想运行它时,我得到了这个错误:Caused by: java.lang.Error: Unresolved compilation problem: The type java.util.Optional cannot be resolved. It is indirectly referenced from required .class files * 没有 * 改变任何东西!

  • 我清除了IntelliJ缓存。

尽管这是一个专业的项目,但它已经使用了JDK 8,

  • 我已经更改了项目设置,并说(再次)使用JDK 8,
  • Maven重新导入,清理项目,构建-〉重新构建项目,它神奇地再次工作
ylamdve6

ylamdve63#

我在Ubuntu中也遇到过类似的问题,对我来说问题是我使用的是JDK1. 7,当我把它改成JDK1. 8时,一切都运行得很好。
现在,这是有道理的,因为可选是在JDK1.8中引入的东西,在此之前,这个概念只存在于Guava:http://onelineatatime.io/optional-guava-and-java-8/

cunj1qz1

cunj1qz14#

遇到了相同的问题(在IntelliJ 2017.2.7中),并如下解决:项目结构-〉模块-〉模块SDK,并将其更改为1.8
我也先将Java编译器设置为8,项目结构-〉项目-〉项目SDK和项目语言级别也设置为8,但都没有成功,最后,我描述的步骤最终修复了它。

trnvg8h3

trnvg8h35#

我最近遇到了这个问题。这个问题与我的项目SDK设置有关。没有清除任何缓存。
当我的Project SDK设置为1.8(1.8.0_202)时出现此问题。通过将其更改为11(11.0.6)修复了此问题。还确认了当我将其切换回1.8时问题再次出现。

vs91vp4v

vs91vp4v6#

java 8中不支持Optional类的一些函数,如isEmpty,ifPresentOrElse,or,stream,orElseThrow,请检查是否使用这些函数,如果要使用这些函数,请使用java 11。

相关问题