web-dev-qa-db-fra.com

Extraction de fichier .jar avec la ligne de commande

J'essaie d'extraire les fichiers d'un fichier .jar. Comment puis-je utiliser la ligne de commande?

J'utilise Windows 7

94
Bobby C

De les docs :

Pour extraire les fichiers d'un fichier jar, utilisez x, comme dans:

C:\Java> jar xf myFile.jar

Pour extraire uniquement certains fichiers d'un fichier jar, indiquez leurs noms de fichier:

C:\Java> jar xf myFile.jar foo bar

Le dossier où jar est probablement pas C:\Java pour vous, sur ma partition Windows, c'est:

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

À moins que l'emplacement de jar ne se trouve dans votre variable d'environnement de chemin, vous devez spécifier le chemin complet/exécuter le programme à partir du dossier.

EDIT: Voici un autre article, spécifiquement consacré à l'extraction de fichiers JAR: http://docs.Oracle.com/javase/tutorial/deployment/ jar/unpack.html

124
AusCBloke

Notez qu'un fichier JAR est un fichier Zip et que tout outil Zip (tel que 7-Zip) peut regarder à l'intérieur du fichier JAR.

29
Hot Licks

Dans Ubuntu:

unzip file.jar -d dir_name_where_extracting

22
burtsevyg

Vous pouvez utiliser la commande suivante: jar xf rt.jar

X représente l'extraction et le paramètre f désigne toute option indiquant que le fichier JAR à partir duquel les fichiers doivent être extraits est spécifié sur la ligne de commande plutôt que via stdin.

8
Nikhil Arora

Java a une classe spécifiquement pour les fichiers Zip et une classe encore plus spécifique pour les fichiers Jar.

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

en utilisant ceux que vous pouvez, sur une commande de la console, en utilisant un scanner réglé sur system.in

Scanner console = new Scanner(System.in);
String input = console.nextLine();

puis récupérez tous les composants et écrivez-les sous forme de fichier.

JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
    //do stuff with JE
}

Vous pouvez également utiliser Java.util.Zip.ZipInputStream à la place, puisqu'un fichier JAR ayant le même format qu'un fichier Zip, ZipInputStream sera en mesure de gérer le fichier Jar. En fait, JarInputStream étend réellement ZipInputStream.

une alternative est aussi à la place de getNextJarEntry, d'utiliser getNextEntry

2
D3_JMultiply

jar xf myFile.jar
remplacez myFile par le nom de votre fichier
cela sauvegardera le contenu dans le dossier actuel du fichier .jar
cela devrait faire :)

2
abe312

Étant donné un fichier nommé Me.Jar:

  1. Aller à cmd
  2. Appuyez sur Entrée
  3. Utilisez la commande Java jar - J'utilise jdk1.8.0_31 pour pouvoir taper

    C:\Program Files (x86)\Java\jdk1.8.0_31\bin\jar xf moi.jar

Cela devrait extraire le fichier dans le dossier bin. Cherchez le fichier .class dans mon cas, mon Me.jar contient un Valentine.class

Tapez Java Valentine et appuyez sur Entrée pour ouvrir le fichier de message.

0
user4566153