2010-08-07 3 views
7

Как я могу динамически загружать файлы jar и список классов, которые в нем?Листинг классов в файле jar

+13

Для таких, как я, кто нашел эту страницу, потому что пытался выяснить, как перечислить классы в j ar в ** командной строке **, а не через Java, ответ «jar tf yourfile.jar» – Hnatt

ответ

6

Посмотрите на классы в пакете java.util.jar. Вы можете найти примеры того, как перечислять файлы внутри JAR в Интернете, вот an example. (Также обратите внимание на ссылки внизу этой страницы, есть еще много примеров, показывающих, как работать с файлами JAR).

+0

Большое спасибо, а файлы «.class» - это классы? как я могу загружать файлы .class в качестве классов? –

+0

Итак, вы хотите динамически загружать классы из JAR-файла? Это намного больше, чем вы просили. Возможно, этот вопрос содержит ответы на некоторые вопросы: http://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime – Jesper

+0

ОК, спасибо, я решил это !. –

10

Вот код для перечисления классов в банке:

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

Быстрый способ: просто открыть .jar как .zip, например, в 7-Zip и найдите имена каталогов.

4

Просмотр содержимого из файла JAR

Для просмотра содержимого файла JAR из командной строки использования

банки ТФ банка-файл

например: -

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 
Смежные вопросы