java java-9 java-module module-info

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 ...