Как можно узнать список модулей, которые были разрешены при запуске приложения, чтобы выяснить, какие все поставщики услуг доступны из корневого модуля.
Список модулей, разрешенных при запуске приложения
Ответы (1)
Разрешение модуля
разрешение модуля это двухэтапный процесс.
- Первый шаг рекурсивно перечисляет директивы «требует» набора корневых модулей.
- Если все перечисленные модули наблюдаемы, то на втором этапе вычисляется их граф удобочитаемости. График читабельности показывает, как модули зависят друг от друга, что, в свою очередь, контролирует доступ через границы модуля.
Можно использовать флаг отладки, как указано в java
документации инструмента a> с помощью аргумента VM:
--show-module-resolution
Показывает разрешение модуля при запуске.
Например, вариант будет перечислять:
- корневой модуль
- все модули, необходимые и разрешенные корневым модулем
- дальнейшие привязки, используемые вышеуказанными модулями и
- последовательные модули решаются во время запуска
При выполнении следующей команды:
Jigsaw git:(master) ✗ ../jdk-9.0.1.jdk/Contents/Home/bin/java --show-module-resolution -p ../out/production/100DaysOfJava9 -m HundredDaysOfJavaNine/com.stackoverflow.nullpointer.Challenge1
Это приводит к следующему: -
root HundredDaysOfJavaNine file:///.../out/production/100DaysOfJava9/
HundredDaysOfJavaNine requires jdk.incubator.httpclient jrt:/jdk.incubator.httpclient
java.base binds jdk.localedata jrt:/jdk.localedata
java.base binds java.security.jgss jrt:/java.security.jgss
java.base binds java.logging jrt:/java.logging
java.base binds jdk.javadoc jrt:/jdk.javadoc
java.base binds jdk.jartool jrt:/jdk.jartool
java.base binds jdk.jlink jrt:/jdk.jlink
java.base binds jdk.compiler jrt:/jdk.compiler
java.base binds jdk.jdeps jrt:/jdk.jdeps
java.base binds java.desktop jrt:/java.desktop
java.base binds jdk.zipfs jrt:/jdk.zipfs
...
person
Naman
schedule
19.01.2018