Ver el contenido de un archivo .jar [cerrado]
¿Cuál sería la forma más sencilla de ver clases, métodos, propiedades, etc. dentro de un archivo jar? Estoy buscando algo equivalente al muy útil Lutz Roeder .NET Reflector - para Java
Al usar el JDK, jar -tf
se enumerarán los archivos en el jar. javap
le dará más detalles de un archivo de clase en particular.
Normalmente los abro con 7-Zip... Permite al menos ver paquetes, clases y recursos.
Si necesitara ver métodos o campos, usaría Jad pero, por supuesto, es mejor confiar en el (bueno) JavaDoc...
Ahora, en algún lugar de SO se mencionaron algunos complementos de Eclipse, para encontrar en qué archivo jar se encuentra una clase, tal vez puedan hacer más (es decir, lo que usted solicitó).
[EDITAR] Referencia al hilo SO. No es lo que se pregunta, pero de alguna manera está relacionado, por lo que es útil: Java: ¿Cómo sé qué archivo jar usar dado un nombre de clase?
En caso de que alguien aún no lo sepa, un archivo JAR es simplemente un archivo ZIP que contiene las clases, recursos, etc. del programa, y algunos metadatos. Puedes extraer uno para ver cómo está armado.
Por eso estoy usando unzip
un comando que es fácil de recordar y usar.
unzip -l <jar-file-name>.jar
Por ejemplo, si tiene un archivo jar con nombre, test.jar
enumerará unzip -l test.jar
todo el contenido del archivo jar.
Si bien todas las demás respuestas son excelentes, en la mayoría de ellas, tendría que usar algún software como 7 zip
o JDK
alguna otra herramienta de eclipse, aunque esto no requiere que tenga ninguno de estos grandes software y viene de forma predeterminada en Linux. y mac, por lo que es muy liviano y práctico de usar .
También puedes usar zipinfo <your jar file>
. si su sistema operativo lo admite.
Lo que uso personalmente es JD-GUI. Es un 'descompilador' gratuito, ya que permite ver el código fuente, las clases y los objetos de las clases, así como ver la estructura de archivos en un menú de árbol a la izquierda. Sin embargo, no permite modificar las clases directamente.
Sitio web de JD-GUI: http://jd.benow.ca/