JavaLangAccess и SharedSecrets в Java 9
Кажется, что SharedSecrets
а также JavaLangAccess
классы из sun.misc
Пакет был удален в Java 9.
Есть ли какие-либо замены в Java 9 для функциональности, предоставляемой этими классами?
2 ответа
Оба вышеупомянутых класса упакованы в jdk.internal.misc
пакет.
Один из способов получить к ним доступ - использовать опцию
--add-exports <source-module>/<package>=<target-module>(,<target-module>)*
для вашего случая использования как:
--add-exports java.base/jdk.internal.misc=your.module
Примечание:- Отказ от ответственности от JEP-261: модульная система -
--add-exports
а также--add-opens
варианты должны использоваться с большой осторожностью. Вы можете использовать их для получения доступа к внутреннему API библиотечного модуля или даже к самому JDK, но вы делаете это на свой страх и риск: если этот внутренний API будет изменен или удален, произойдет сбой вашей библиотеки или приложения.
По сообщению об ошибке № JDK-8137056
При подготовке к JEP 160 интерфейсы SharedSecrets и Friend должны быть удалены из sun.misc и размещены в действительно закрытом пакете.
И они теперь доступны на jdk.internal.misc
Переместить SharedSecrets и друзей на jdk.internal.misc