java - Enumerar los módulos resueltos durante el inicio de la aplicación.
java-9 java-module (1)
¿Cómo se puede conocer la lista de módulos que se han resuelto mientras la aplicación se ha iniciado para averiguar a qué se puede acceder a todos los proveedores de servicios desde el módulo raíz?
Resolución del módulo
La resolución del módulo es un proceso de dos pasos.
- El primer paso enumera recursivamente las directivas ''requiere'' de un conjunto de módulos raíz.
- Si todos los módulos enumerados son observables, entonces el segundo paso calcula su gráfico de legibilidad. El gráfico de legibilidad representa cómo los módulos dependen unos de otros, lo que a su vez controla el acceso a través de los límites del módulo.
Se puede usar el indicador de depuración como se menciona en la
documentación de la herramienta
java
mediante un argumento VM:
--show-module-resolution
Muestra la salida de resolución del módulo durante el inicio.
Por ejemplo , la opción enumeraría:
- módulo raíz
- todos los módulos requeridos y resueltos por el módulo raíz
- enlaces adicionales utilizados por los módulos requeridos anteriormente y
- módulos sucesivos resueltos durante el inicio
Al ejecutar el siguiente comando:
Jigsaw git:(master) ✗ ../jdk-9.0.1.jdk/Contents/Home/bin/java --show-module-resolution -p ../out/production/100DaysOfJava9 -m HundredDaysOfJavaNine/com..nullpointer.Challenge1
Resulta en lo siguiente: -
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
...