# Jar-Datei extrahieren ?



## Schmiedekolben (8. Feb 2012)

Hallo,

Habe eine kleine Frage zum Jar-Datei Format?

Habe gelesen das man mit dem Konsolen-Befehl [c]-xf[/c] eine jar-datei extrahieren kann.
Hatte es probiert, aber scheint nichts zu passieren. Sollten die class-dateien danach im selben Verzeichnis auftauchen?

Danke
P.


----------



## Michael... (8. Feb 2012)

> Hatte es probiert, aber scheint nichts zu passieren. Sollten die class-dateien danach im selben Verzeichnis auftauchen?


Kommt darauf an wie Du es verwendest.
Eine Jar Datei kann man übrigens auch mit einem zip Tool entpacken.


----------



## ireas (8. Feb 2012)

Das sollte eigentlich funktionieren. Lies dir mal dieses Tutorial durch, da steht alles, was du missen musst.

Die Dateien werden im gleichen Verzeichnis entpackt; es kann aber sein, dass im JAR-Archiv auch Ordner sind.


----------



## Schmiedekolben (8. Feb 2012)

Das gleiche Format wie .zip, ok interessant. Indemfall einfach umbennen?

Was findet man für Dateien im zip-Ordner, nur class oder auch java?

Falls nur class-, wie kommt man an die java-dateien heran, wusste das man mit [c]javap[/c] den code auf der konsole ausgeben kann, aber auch nur dort?

Danke
P.


----------



## Michael... (8. Feb 2012)

Schmiedekolben hat gesagt.:


> Was findet man für Dateien im zip-Ordner, nur class oder auch java?


Alles was da reingepackt wurde und nichts was da nicht reingepackt wurde ;-)

Wenn der Ersteller die Sourcen nicht mit rein hat, findet man diese auch nicht.
Allerdings gibt es Dekompiler die aus den class Dateien bzw. direkt aus dem jar, Sourcecode erzeugen können.


----------



## ireas (8. Feb 2012)

Schmiedekolben hat gesagt.:
			
		

> Was findet man für Dateien im zip-Ordner, nur class oder auch java?



Das kommt immer drauf an! 

Wenn das jar-Archive ausführbar ist oder Java-Code enthält, sind auf jeden Fall .class-Dateien enthalten. Je nach dem, was der Entwickler hinzugefügt hat, können auch die Java-Sourcen, Dokumentationen oder Ähnliches enthalten.


----------



## Schmiedekolben (8. Feb 2012)

Danke,

Ok, werde es mal probieren.

Das Tutorial hilft, wobei ich nicht genau herauslesen konnte, in welches Verzeichnis die Dateien kopiert werden?

Z.B. [c]jar xf[/c] jar steht für jar-archiv, x steht für extrahieren und f für files, danach kommt [c]file.jar[/c] das jar-file, und [c]verzeichnis/file.class[/c] das ein Verzeichnis anlegt und das file(jar,gif,jpg...) hinein setzt.

Aber wenn ich nur [c]jar xf file.jar[/c] angebe, wohin wird der Inhalt des jar's kopiert?

Vielen Dank
P.


----------



## ireas (8. Feb 2012)

Schmiedekolben hat gesagt.:
			
		

> Z.B. [c]jar xf[/c] jar steht für jar-archiv, x steht für extrahieren und f für files, danach kommt [c]file.jar[/c] das jar-file, und [c]verzeichnis/file.class[/c] das ein Verzeichnis anlegt und das file(jar,gif,jpg...) hinein setzt.



Nein, nicht ganz. [c]verzeichnis/file.class[/c] ist die Datei, die entpackt werden soll. Am besten lässt du das weg, dann wird alles entpackt.



> Aber wenn ich nur [c]jar xf file.jar[/c] angebe, wohin wird der Inhalt des jar's kopiert?



Ins aktuelle Arbeitsverzeichnis, indem auch die JAR liegt.


----------



## Michael... (8. Feb 2012)

Schmiedekolben hat gesagt.:


> Aber wenn ich nur [c]jar xf file.jar[/c] angebe, wohin wird der Inhalt des jar's kopiert?


jar *-*xf file.jar

der Inhalt wird in des Verzeichnis extrahiert aus dem der jar Befehl aufgerufen wird. In diesem Fall ins Verzeichnis der jar Datei.


----------



## Schmiedekolben (8. Feb 2012)

Ok, vielen Dank Euch beiden.

P.


----------



## Schmiedekolben (8. Feb 2012)

Sorry funktioniert doch nicht so wie es sollte.

Habe diese Fehlermeldung beim extrahieren.


```
java.io.IOException: META-INF: Verzeichnis konnte nicht erstellt werden
        at sun.tools.jar.Main.extractFile(Main.java:939)
        at sun.tools.jar.Main.extract(Main.java:877)
        at sun.tools.jar.Main.run(Main.java:263)
        at sun.tools.jar.Main.main(Main.java:1177)
```

P.


----------

