IntelliJ:找不到java.util.Optional

时间:2014-08-08 14:18:19

标签: intellij-idea java-8

在IntelliJ的一个新项目中,我已经设置了Java 8 JRE / JDK和语言级别8.0。

但由于某种原因,IDE无法找到java.util.Optional。该项目编译和工作正常(在IDE中也是如此)但代码完成不起作用。

有什么想法吗?在他们的bugtracker上创建一张票之前,我想问一些其他用户......

5 个答案:

答案 0 :(得分:3)

我终于弄明白了。无论出于何种原因,在编辑器,常规和自动导入下的exlus中都有java.util.Optional条目。

删除它就可以了。不知道它是如何或为何最终存在的。听起来不像我想做的任何事情。

答案 1 :(得分:2)

我在ubuntu中遇到过类似的问题。对我来说问题是我使用的是JDK1.7,当我将它改为JDK1.8时,一切正常。

现在,这是有道理的,因为Optional是在JDK1.8中引入的,之前该概念仅存在于Guava中:http://onelineatatime.io/optional-guava-and-java-8/

答案 2 :(得分:2)

愚蠢的IntelliJ。

我有一个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缓存。

虽然这是一个Maven项目,但已经在使用JDK8,

  • 我已经更改了项目设置,并且再次说使用JDK8,
  • Maven重新导入,清理项目,Build-> Rebuild项目,它再次神奇地工作

答案 3 :(得分:0)

遇到相同的问题(在IntelliJ 2017.2.7中),并像这样解决了它: 项目结构->模块->模块SDK,然后将其更改为1.8

我还首先将Java编译器设置为8,并且将Project Structure-> Project-> Project SDK和Project语言级别也设置为8,但没有成功。最后,我描述的步骤终于解决了它。

答案 4 :(得分:0)

我最近遇到了这个。该问题与我的项目 SDK 设置有关。无需清除任何缓存。

我的项目 SDK 设置为 1.8 (1.8.0_202) 时出现此问题。该问题已通过将其更改为 11 (11.0.6) 来解决。还确认当我将其切换回 1.8 时该问题再次出现。