JDK 11 позволяет нам использовать несколько внутренних API, экспортируя модуль в проект с предупреждением , как показано ниже:
warning: UnicastRef is internal proprietary API and may be removed in a future release.
Предупреждениеясно говорит о том, что произойдет.
Команда:
javac --add-exports java.rmi/sun.rmi.server=ALL-UNNAMED RMIServer.java
Where, java.rmi -> is a module name,
sun.rmi.server -> is the package name,
RMIServer.java -> Class in which package sun.rmi.server is imported.
Есть несколько других внутренних API, которые перемещены в пакеты jdk.internal ... *в java 9, к которой можно получить доступ без какого-либо предупреждения , как показано ниже:
javac --add -exports jdk.management.agent/jdk.internal.agent=ALL-UNNAMED HelloWorld.java
Примечание: Этот вопрос не относится киспользовать внутренний API прямо в коде вашего приложения.Поскольку есть программные продукты, разработанные с использованием внутренних API более 15 лет назад, они все еще существуют в Java 8.