Est-il possible de corriger les fichiers jar?
Supposons que je vous ai envoyé un grand pot ou de la guerre du fichier à quelqu'un. Pourrais-je plus tard, il suffit de changer un petit article et l'envoyer à lui? Supposons que je viens de modifier un fichier de classe. J'ai recompilé la java dans un fichier de classe. D'autres ensuite de les échanger le nouveau fichier de classe de l'ancien fichier de classe qu'il y autre chose que je devrais faire?
En java, vous avez à reconstruire le pot entier/la guerre de fichier? Aussi, est-il un package open source disponibles pour faire des mises à jour?
source d'informationauteur GC_ | 2011-02-21
Vous devez vous connecter pour publier un commentaire.
La personne qui reçoit le fichier de classe pourrait simplement ajouter ce fichier dans le pot tant qu'ils connaissent son répertoire pour le mettre. Être las de signé pots, comme indiqué dans les commentaires.
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/jar.html
Vous pouvez les copier, les modifier .fichier de classe de cette façon.
Si il y a un moyen logique pour vous de vous séparer de vos composants dans les différents fichiers jar puis je voudrais créer un fichier jar par type de composant. De cette façon, vous n'aurez pas de re-répartir le tout au client. Par exemple prendre un coup d'oeil à la façon dont Le printemps 3 a les composants séparés.
Il est JARDiff, conçu pour la mise à jour de Java WebStart applications.
Vous aurez besoin de reconstruire l'ensemble du fichier jar sauf si vous les voulez pour unjar, écraser un fichier et rejar.
Prendre un coup d'oeil à l'utilisation de l'
jar
de commande. L'option u permet de mettre à jour une archive existante.Il suffit d'ouvrir votre fichier jar avec 7zip et écraser les classes que vous avez édité. Assurez-vous de faire une sauvegarde au préalable.
Si vous avez votre ancien et votre nouveau fichier jar, vous pouvez créer un xdelta de deux et les envoyer uniquement le fichier de delta à votre client, qui doit être beaucoup plus petite que l'ensemble du fichier jar si vous avez changé d'une classe unique de de nombreuses. Cela devrait fonctionner pour la signature de pots, trop, mais exige que l'émetteur et le récepteur ont la xdelta programme (ou être en mesure de l'installer).
Et bien sûr, vous devez créer le nouveau pot (mais cela peut être fait par les méthodes déjà évoquées par d'autres réponses).