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

Другие вопросы по тегам