在IntelliJ的一个新项目中,我已经设置了Java 8 JRE / JDK和语言级别8.0。
但由于某种原因,IDE无法找到java.util.Optional
。该项目编译和工作正常(在IDE中也是如此)但代码完成不起作用。
有什么想法吗?在他们的bugtracker上创建一张票之前,我想问一些其他用户......
答案 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
无需进行任何更改!
虽然这是一个Maven项目,但已经在使用JDK8,
答案 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 时该问题再次出现。