Je veux mettre à jour un fichier .class dans un fichier jar avec un nouveau. Quelle est la manière la plus simple de le faire, en particulier dans l’IDE Eclipse?
Ce tutoriel explique comment mettre à jour un fichier jar
jar uf jar-file input-file(s)
où ‘u’ signifie mise à jour.
Voulez-vous le faire automatiquement ou manuellement? Si manuellement, un fichier JAR n’est en réalité qu’un fichier ZIP, vous devriez donc pouvoir l’ouvrir avec n’importe quel lecteur ZIP. (Vous devrez peut-être d’abord modifier l’extension.) Si vous souhaitez mettre à jour le fichier JAR automatiquement via Eclipse, vous pouvez consulter le support Ant dans Eclipse et examiner la tâche zip .
Glissez et déposez simplement votre nouveau fichier de classe dans le JAR à l’aide de 7-Zip ou de Winzip. Vous pouvez même modifier un fichier JAR inclus dans un fichier WAR à l’aide de l’icône du dossier parent, puis cliquer sur OK lorsque 7zip détecte que le fichier interne a été modifié.
Jar est une archive, vous pouvez y remplacer vous-même un fichier dans votre gestionnaire de fichiers préféré (Total Commander par exemple).
jar -xvf
pour extraire les fichiers dans un répertoire. jar -cvf
pour créer un nouveau fichier jar. Un fichier JAR est juste un fichier .zip déguisé. Le dossier .class
contient des fichiers .class
.
Si vous êtes sur macOS:
.class
par votre nouveau fichier .class. Divers – Comstackr un seul fichier .class, en référence à un fichier jar d’origine, sur macOS
javac -classpath originalJar.jar myClass.java
Ceci créera votre classe compilée appelée myClass.class. De là, suivez les étapes ci-dessus. Vous pouvez également utiliser Eclipse pour le comstackr, en référençant simplement le fichier JAR d’origine en cliquant avec le bouton droit sur le projet, “Build Path” -> “Add External Archives”. A partir de là, vous devriez pouvoir le comstackr en tant que fichier jar, et utiliser la technique zip ci-dessus pour récupérer la classe du fichier jar.
1) vous pouvez extraire le fichier dans un dossier appelé
jarname.jar
puis remplacez le fichier dans le dossier, pratique si vous mettez beaucoup à jour la classe lors du débogage
2) vous pouvez extraire le pot remplacer le fichier puis le pot à nouveau
3) Ouvrez le pot avec 7 zip et faites glisser votre nouvelle classe pour copier l’ancien
Modification des propriétés / du fichier my_app.properties dans jar:
"zip -u /var/opt/my-jar-with-dependencies.jar properties/my_app.properties"
. Fondamentalement, "zip -u
, où dest est relatif au dossier d’extraction jar.
Vous pouvez trouver le code source de tout fichier .jar en ligne, importer le même projet dans votre IDE avec les configurations de base. Apportez les modifications nécessaires dans le fichier .java et comstackz-le pour les fichiers .class.
Une fois la compilation terminée Vous devez extraire le fichier jar, remplacer l’ancien fichier .class par un nouveau.
Et utilisez la commande ci-dessous pour reconstruire le fichier .jar
Jar cf test.jar *
Note: J’ai fait tellement de fois que cela change dans notre projet, j’espère que vous le trouverez utile.
Une alternative consiste à ne pas remplacer le fichier .class dans le fichier jar. Au lieu de cela, placez-le dans un nouveau fichier jar et assurez-vous qu’il apparaît plus tôt dans votre chemin de classe que le fichier jar d’origine.
Je ne suis pas sûr de le recommander pour les logiciels de production, mais pour le développement, c’est rapide et facile.