Je voulais extraire l’un de mes fichiers JAR vers le répertoire spécifié à l’aide de l’utilitaire de ligne de commande jar
.
Si je comprends bien cette option, je devrais le faire mais quand j’essaie
jar xvf myJar.jar -C ./directoryToExtractTo
Je reçois des informations d’utilisation de mon utilitaire jar, alors je fais quelque chose de mal.
Est-ce que la chose que je veux être réalisable avec un jar
ou dois-je déplacer manuellement mon pot et y invoquer
jar xvf myJar.jar
C’est mieux de faire ça.
Naviguez jusqu’à la structure de dossiers requirejse
Utilisez la commande
jar -xvf 'Path_to_ur_Jar_file'
Les bocaux utilisent la compression zip pour que vous puissiez utiliser n’importe quel utilitaire de décompression.
Exemple:
$ unzip myJar.jar -d ./directoryToExtractTo
Il n’y a pas de telle option disponible dans la commande jar elle-même. Regardez dans la documentation :
-C dir Modifie temporairement les répertoires (répertoire cd) pendant l’exécution de la commande jar lors du traitement de l’argument inputfiles suivant. Son fonctionnement est destiné à être similaire à l’option -C de l’utilitaire UNIX tar. Par exemple: jar uf.oo.jar -C les classes bar.class changent dans le répertoire des classes et ajoutent la classe bar.class de ce répertoire à foo.jar. La commande suivante, jar uf foo.jar -C classes. -C bin xyz.class change dans le répertoire des classes et ajoute à foo.jar tous les fichiers du répertoire classes (sans créer de répertoire de classes dans le fichier jar), puis revient au répertoire d’origine avant de passer au répertoire bin pour append xyz.class à foo.jar. Si classes contient les fichiers bar1 et bar2, alors voici ce que le fichier jar contient en utilisant jar tf foo.jar: META-INF /
META-INF / MANIFEST.MF
bar1
bar2
xyz.class
Si vous ne voulez pas changer votre répertoire de travail actuel, il peut être plus facile d’exécuter la commande extract dans un sous-shell comme celui-ci.
mkdir -p "/path/to/target-dir" (cd "/path/to/target-dir" && exec jar -xf "/path/to/your/war-file.war")
Vous pouvez ensuite exécuter ce script à partir de n’importe quel répertoire de travail.
[Merci à David Schmitt pour le tour de subhell]
C’est ce que j’ai fini par utiliser dans mon fichier .bat. Windows uniquement bien sûr.
set CURRENT_DIR=%cd% mkdir ./directoryToExtractTo cd ./directoryToExtractTo jar xvf %CURRENT_DIR%\myJar.jar cd %CURRENT_DIR%
Cela a fonctionné pour moi.
J’ai créé un dossier, puis changé dans le dossier en utilisant l’option CD de l’invite de commande.
Ensuite, a exécuté le pot de là.
d:\LS\afterchange>jar xvf ..\mywar.war