2010-08-07 7 views
7

Comment charger dynamiquement un fichier jar et lister les classes qu'il contient?Classer des classes dans un fichier jar

+13

Pour ceux qui, comme moi, ont trouvé cette page parce qu'ils ont essayé de savoir comment lister les classes en j ar dans ** la ligne de commande **, pas via Java, la réponse est 'jar tf yourfile.jar' – Hnatt

Répondre

6

Jetez un oeil aux classes dans le paquet java.util.jar. Vous pouvez trouver des exemples de la façon de lister les fichiers dans le JAR sur le Web, voici an example. (Notez également les liens au bas de cette page, il y a beaucoup d'autres exemples qui vous montrent comment travailler avec les fichiers JAR).

+0

Merci beaucoup, et les fichiers" .class "sont les classes? comment puis-je charger des fichiers .class en tant que classes? –

+0

Donc, vous voulez charger des classes dynamiquement à partir d'un fichier JAR? C'est beaucoup plus que ce que vous avez demandé à l'origine. Peut-être que cette question contient quelques réponses: http://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime – Jesper

+0

ok, merci, je l'ai résolu !. –

10

Code est ici pour une liste des classes en pot:

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

Manière rapide: il suffit d'ouvrir le .jar comme par exemple .zip dans 7-Zip et recherchez les noms de répertoire.

4

Affichage du contenu d'un fichier JAR

Pour visualiser le contenu d'un fichier JAR de commande utilisation rapide

pot-fichier tf pot

par exemple: -

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 
Questions connexes