Список модулей, разрешенных при запуске приложения

Как можно узнать список модулей, которые были разрешены при запуске приложения, чтобы выяснить, какие все поставщики услуг доступны из корневого модуля.


person Naman    schedule 19.01.2018    source источник


Ответы (1)


Разрешение модуля

разрешение модуля это двухэтапный процесс.

  • Первый шаг рекурсивно перечисляет директивы «требует» набора корневых модулей.
  • Если все перечисленные модули наблюдаемы, то на втором этапе вычисляется их граф удобочитаемости. График читабельности показывает, как модули зависят друг от друга, что, в свою очередь, контролирует доступ через границы модуля.

Можно использовать флаг отладки, как указано в java документации инструмента с помощью аргумента 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