2010-08-07 21 views
7

¿Cómo puedo cargar dinámicamente un archivo jar y enumerar las clases que contiene?Clases de listado en un archivo jar

+13

Para aquellos como yo, que encontraron esta página porque trataron de averiguar cómo enumerar las clases en j ar en ** línea de comando **, no a través de Java, la respuesta es 'jar tf yourfile.jar' – Hnatt

Respuesta

6

Eche un vistazo a las clases en el paquete java.util.jar. Puede encontrar ejemplos de cómo enumerar los archivos dentro del JAR en la web, aquí está an example. (También tenga en cuenta los enlaces en la parte inferior de esa página, hay muchos más ejemplos que le muestran cómo trabajar con archivos JAR).

+0

Muchas gracias, y los archivos" .class "son las clases? ¿Cómo puedo cargar archivos .class como clases? –

+0

¿Desea cargar clases dinámicamente desde un archivo JAR? Eso es mucho más de lo que originalmente pediste. Tal vez esta pregunta contenga algunas respuestas: http://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime – Jesper

+0

bien, ¡gracias, lo resolví !. –

10

Aquí es el código para la inclusión de clases en el tarro:

import java.io.IOException; 
import java.util.Enumeration; 
import java.util.jar.JarEntry; 
import java.util.jar.JarFile; 

public class JarList { 
    public static void main(String args[]) throws IOException { 

     if (args.length > 0) { 
      JarFile jarFile = new JarFile(args[0]); 
      Enumeration allEntries = jarFile.entries(); 
      while (allEntries.hasMoreElements()) { 
       JarEntry entry = (JarEntry) allEntries.nextElement(); 
       String name = entry.getName(); 
       System.out.println(name); 
      } 
     } 
    } 
} 
3

forma rápida: basta con abrir el .jar como por ejemplo .zip en 7-Zip y busca los nombres de directorio.

4

Ver el contenido de un archivo JAR

Para ver el contenido de un archivo JAR del símbolo del sistema uso

frasco tf fichero-jar

por ejemplo: -

jar tf TicTacToe.jar 


META-INF/MANIFEST.MF 
TicTacToe.class 
audio/ 
audio/beep.au 
audio/ding.au 
audio/return.au 
audio/yahoo1.au 
audio/yahoo2.au 
images/ 
images/cross.gif 
images/not.gif 
Cuestiones relacionadas