Antworten:
Aus den Dokumenten :
Verwenden Sie
xwie folgt, um die Dateien aus einer JAR-Datei zu extrahieren :C:\Java> jar xf myFile.jarUm nur bestimmte Dateien aus einer JAR-Datei zu extrahieren, geben Sie deren Dateinamen an:
C:\Java> jar xf myFile.jar foo bar
Der Ordner, in dem jarsich wahrscheinlich nichts C:\Javafür Sie befindet, auf meiner Windows-Partition lautet :
C:\Program Files (x86)\Java\jdk[some_version_here]\bin
Sofern sich der Speicherort von nicht jarin Ihrer Pfadumgebungsvariablen befindet, müssen Sie den vollständigen Pfad angeben / das Programm im Ordner ausführen.
BEARBEITEN: Hier ist ein weiterer Artikel, der sich speziell mit dem Extrahieren von JARs befasst: http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
jar.exeOrdners an oder führen Sie ihn aus.
Sie können den folgenden Befehl verwenden: jar xf rt.jar
Wobei Xsteht für Extraktion und die fOptionen, die angeben, dass die JAR-Datei, aus der Dateien extrahiert werden sollen, in der Befehlszeile und nicht über stdin angegeben wird.
Java hat eine Klasse speziell für Zip-Dateien und eine noch spezieller für Jar-Dateien.
java.util.jar.JarOutputStream
java.util.jar.JarInputStream
Verwenden Sie diese auf Befehl der Konsole mit einem auf system.in eingestellten Scanner
Scanner console = new Scanner(System.in);
String input = console.nextLine();
Holen Sie sich dann alle Komponenten und schreiben Sie sie als Datei.
JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
//do stuff with JE
}
Sie können stattdessen auch java.util.zip.ZipInputStream verwenden. Da eine JAR-Datei dasselbe Format wie eine ZIP-Datei hat, kann ZipInputStream die Jar-Datei verarbeiten. JarInputStream erweitert tatsächlich ZipInputStream.
Eine Alternative ist auch, anstelle von getNextJarEntry getNextEntry zu verwenden
Gegeben eine Datei mit dem Namen Me.Jar:
Verwenden Sie Java jar Befehl - Ich verwende jdk1.8.0_31, damit ich tippen kann
C: \ Programme (x86) \ Java \ jdk1.8.0_31 \ bin \ jar xf me.jar
Das sollte die Datei in den Ordner bin extrahieren. Suchen Sie nach der Datei .class in meinem Fall, meine Me.jar enthält eine Valentine.class
Typ java Valentineund drücken Sie die Eingabetaste und Ihre Nachrichtendatei geöffnet wird.
Verwenden Sie diesen Befehl über die Eingabeaufforderung, um das JAR in den angegebenen Ordner zu extrahieren
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
-Ckann nur beim Erstellen von JAR-Dateien verwendet werden.
unzip file.jar -d dir_name_where_extracting, müssen Sie unter Windows Ihre JAR in den