Analizador de dependencias de clases de Java : jdeps es una nueva herramienta de línea de comandos introducida en JDK 8 para comprender las dependencias estáticas y las bibliotecas de la aplicación, es decir, el comando jdeps muestra las dependencias a nivel de paquete o de clase de los archivos de clase de Java. La entrada para jdeps puede ser un nombre de ruta de archivo .class, un archivo JAR o puede ser un nombre de clase completo para analizar todos los archivos de clase. Cada vez que proporcionamos alguna entrada a la herramienta de línea de comandos jdeps, genera las dependencias en la consola del sistema. jdeps introducido con varias opciones que afectan la salida. Según la opción, la herramienta de línea de comandos jdeps genera la salida.
Ejemplo:
// Simple Java program to see the jdeps // generated output with various options import java.util.List; import java.util.ArrayList; class Geeks { public static void main(String args[]) { List<String> list1 = new ArrayList<>(); List<String> list2 = new ArrayList<>(); List<String> list3 = new ArrayList<>(); list1.add("Geeks"); list2.add("for"); list3.add("geeks"); System.out.println(list1); System.out.println(list2); System.out.println(list3); } }
Nota: Tenemos que compilar el archivo Geeks.java anterior y el compilador generará el archivo Geeks.class y tenemos que usar este archivo como entrada para jdeps. Aquí estoy ejecutando Java 9 y veremos la salida de jdeps con diferentes opciones para este archivo Geeks.class según Java 9.
Producción:
jdeps Geeks.class
Varias opciones disponibles para jdeps:
- -dotoutput directoryPath : si usamos esta opción, jdeps generará un archivo de puntos en el directorio por cada archivo analizado llamado .dot que enumera las dependencias. También generará un archivo de resumen llamado summary.dot que especifica las dependencias entre los archivos.
Producción:
jdeps -dotoutput C:\Users\DubeyBis\Desktop\jdeps Geeks.class
Generará dos archivos dentro de la carpeta C:\Users\DubeyBis\Desktop\jdeps con el nombre Geeks.class.dot y summary.dot y el contenido de estos archivos se encuentra a continuación:
Geeks.class.dot
digraph "Geeks.class" { // Path: Geeks.class "" -> "java.io (java.base)"; "" -> "java.lang (java.base)"; "" -> "java.lang.invoke (java.base)"; "" -> "java.util (java.base)"; }
resumen.punto
digraph "summary" { "Geeks.class" -> "rt.jar"; }
- -resumen : Imprimirá solo el resumen. En lugar de -summary, también podemos usar -s.
Producción:
jdeps -summary Geeks.class
- -verbose : imprimirá todas las dependencias de nivel de clase. En lugar de -verbose, también podemos usar -v.
Producción:
jdeps -verbose Geeks.class
- -verbose:package : imprime las dependencias a nivel de paquete, excluyendo las dependencias dentro del mismo archivo.
- -verbose:class : Imprime dependencias de nivel de clase excluyendo las dependencias dentro del mismo archivo.
Producción:
jdeps -verbose:class Geeks.class
Publicación traducida automáticamente
Artículo escrito por Bishal Kumar Dubey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA