Intellij 在编译期间看不到一些非公共的 JDK 9 类
我有一个项目以前使用JDK 8.0,现在迁移到JDK 9。该项目尚未模块化。
修复了关闭对私有JDK API的访问权限的所有问题,并且我能够使用maven,1.8语言级别和JDK 9从命令行构建项目。
Intellij Idea根本没有突出任何问题,JDK 9设置为项目SDK,但是如果我尝试在Idea本身内部构建项目 - 我会在idea控制台中获得编译问题:
Information:javac 9 was used to compile java sources
Error:(5, 16) java: package sun.misc does not exist
Error:(22, 19) java: cannot find symbol
symbol: class Unsafe
location: class <...>.UnsafeAccessor
因此,该项目现在使用JDK 9在CMD中构建得很好,这个错误并没有太大的意义,因为sun.misc.Unsafe在JDK 9中存在并且是公开的,Idea本身没有突出显示任何内容,所以它明白一切都存在。
什么可能导致 Idea 内部的项目构建出现问题?
有关 IDEA 版本的信息:
IntelliJ IDEA 2017.2.5
内部版本 #IU-172.4343.14,构建于 2017 年 9 月 26 日
JRE: 1.8.0_152-发布-915-b12 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.13