使用下面提供的代码,在o.get()
上键入“ Long类型不可见”(没有更多信息)时,我得到Eclipse错误。
我安装了最新的JDK(Java“ 11.0.1” 2018-10-16,并在Eclipse 2018-09(4.9.0)中使用),并且仅当我将项目JDK遵从性设置为9或10。当JDK兼容性设置为1.8或更低时,不会发生。
import java.util.Optional;
public class TestLongNotVisible {
Optional<Long> o;
void a() {
long x = o.get();
}
}
我正在寻找解决此问题的方法。如果任何人有此问题的经验或最可能的原因,请提前谢谢您!
答案 0 :(得分:0)
默认情况下,我的项目被设置为具有多个依赖项的Maven项目。 Lombok依赖关系导致此问题的发生,因为它在编译之前会注入代码。没有Lombok依赖性,一切都会按预期进行。对于任何以Lombok作为依赖项的项目,即使没有使用Lombok功能,也会出现问题。
Lombok还不支持JDK 10或更高版本。
如果您遇到此问题,或者类似的问题,并且本应不可能发生的错误(例如Long的类型不可见),请检查您的设置是否有可能的代码注入器,例如Lombok与编译器不兼容。