it-swarm.com.de

Extrahieren der JAR-Datei mit der Befehlszeile

Ich versuche, die Dateien aus einer JAR-Datei zu extrahieren. Wie mache ich das über die Kommandozeile?

Ich verwende Windows 7

94
Bobby C

Von den Dokumenten :

Um die Dateien aus einer JAR-Datei zu extrahieren, verwenden Sie x wie in:

C:\Java> jar xf myFile.jar

Um 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 sich jar befindet, ist wahrscheinlich nicht C:\Java für Sie auf meiner Windows-Partition ist es:

C:\Program Files (x86)\Java\jdk[some_version_here]\bin

Sofern sich der Speicherort von jar nicht in Ihrer Pfadumgebungsvariablen befindet, müssen Sie den vollständigen Pfad angeben/das Programm aus dem Ordner ausführen.

EDIT: Hier ist ein weiterer Artikel, der sich speziell mit dem Extrahieren von JARs befasst: http://docs.Oracle.com/javase/tutorial/deployment/ jar/unpack.html

124
AusCBloke

Beachten Sie, dass es sich bei einer JAR-Datei um eine Zip-Datei handelt und jedes Zip-Tool (z. B. 7-Zip) in die JAR-Datei schauen kann.

29
Hot Licks

In Ubuntu:

unzip file.jar -d dir_name_where_extracting

22
burtsevyg

Sie können den folgenden Befehl verwenden: jar xf rt.jar

Wobei X für Extraktion steht und f alle Optionen sind, die angeben, dass die JAR-Datei, aus der Dateien extrahiert werden sollen, in der Befehlszeile und nicht über stdin angegeben wird.

8
Nikhil Arora

Java hat eine Klasse speziell für Zip-Dateien und eine noch spezifischere für Jar-Dateien.

Java.util.jar.JarOutputStream
Java.util.jar.JarInputStream

mit diesen können Sie auf Befehl über die Konsole einen Scanner verwenden, der auf system.in eingestellt ist

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 aufweist, kann ZipInputStream die Jar-Datei verarbeiten. JarInputStream erweitert ZipInputStream tatsächlich.

eine Alternative ist auch, anstelle von getNextJarEntry getNextEntry zu verwenden

2
D3_JMultiply

jar xf myFile.jar
Ändern Sie myFile in den Namen Ihrer Datei
Dadurch wird der Inhalt im aktuellen Ordner der JAR-Datei gespeichert
das sollte reichen :)

2
abe312

Gegeben eine Datei mit dem Namen Me.Jar:

  1. Gehe zu cmd
  2. Drücke Enter
  3. Verwenden Sie den Befehl Java jar - ich verwende jdk1.8.0_31, also würde ich schreiben

    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, dass mein Me.jar eine Valentine.class enthält

Art Java Valentine und drücken Sie die Eingabetaste. Ihre Nachrichtendatei wird geöffnet.

0
user4566153