К сожалению, вы не можете использовать внутренние API, если вы компилируете с опцией --release N
. Это описано в JEP 247 :
Определяется новый параметр командной строки --release, который автоматически
настраивает компилятор для создания файлов классов, которые будут ссылаться на
реализация данной версии платформы. - отпустите N is
примерно эквивалентно:
для N <9: -источник N -цель N -bootclasspath <документированный-API-от-N>,
для N> = 9: -источник N -цель N - система .
А затем следует основной абзац:
Для N <9 документированные API состоят из <b>открытых API , которые были на
Стандартный путь загрузки javac для JDK N.
Я согласен, что на самом деле это большое ограничение. Вы даже не можете использовать sun.misc.Unsafe, который всегда был важной частью OpenJDK.
Итак, ваш вопрос не имеет ничего общего с IntelliJ IDEA. Это ограничение платформы Java.
У вас есть два способа:
- Не использовать внутренние API
- Используйте JDK 8 для компиляции