dudleybrooks
Affiche originale- 4 avr. 2011
- San Francisco
- 14 avr. 2011
jiminaus
- 16 déc. 2010
- Sydney
- 15 avr. 2011
« Modifier une seule ligne dans un fichier .jar » n'a pas de sens direct dans le contexte du fichier .jar. Si vous nous dites exactement ce que vous voulez faire avec ce fichier .jar, nous pourrons peut-être vous dire quels outils/programmes Mac OS X vous pouvez utiliser et comment. M
mufflon
- 15 sept. 2006
- 15 avr. 2011
Il y a en réalité trois phases : l'extraction, la modification et le remontage.
L'extraction est facile : faites un clic droit et cliquez pour désarchiver (si je ne m'abuse).
Modification : s'il s'agit du manifeste (classe à exécuter, etc.), c'est facile, cependant les fichiers java sont compilés dans des fichiers .class et devront être désassemblés avant modification.
Pour tout reconstituer, recherchez sur Google la commande « jar » pour le terminal.
S'il s'agit d'un logiciel libre, il est meilleur et plus facile de compiler à partir des sources ; sinon, je ne pense pas que ce soit 100% légitime. ré
dudleybrooks
Affiche originale- 4 avr. 2011
- San Francisco
- 15 avr. 2011
J'ai effectué cette modification de nombreuses fois sous Windows (notamment à chaque fois que j'ai téléchargé une mise à niveau, ce qui, bien sûr, a effacé ma modification précédente). La personne qui a recommandé le changement a également recommandé un (dés)archiveur appelé IZArc, dans lequel l'ensemble du processus pourrait être effectué depuis l'intérieur d'IZArc - ouvrez (désarchivez) le fichier .jar, recherchez le fichier .js, modifiez la ligne ... puis cliquer sur Quitter ramènerait tout à son état archivé.
Je comprends que je peux désarchiver le .jar avec n'importe quel désarchiveur et éditer le .js avec n'importe quel éditeur de texte. Je suppose que mon inquiétude est que, n'étant pas un programmeur, je puisse faire quelque chose de dangereux lors du réarchivage - ne pas archiver tous les fichiers pertinents, ou archiver trop de fichiers, ou quelque chose du genre.
Ma question est donc la suivante : existe-t-il un archiveur (espérons-le dans le système d'exploitation) qui fera tout ce qui précède à partir de lui-même, afin que je sache que le fichier .jar final contient exactement les fichiers qu'il devrait contenir ? Ou, à défaut, que dois-je faire pour m'assurer de l'avoir réarchivé correctement ? Je me rends compte que dans ce forum c'est une question de débutant complet.
pasjustjay
- 19 sept. 2003
- canadien, hein ?
- 15 avr. 2011
chown33
Modérateur
Membre du staff- 9 août 2009
- le plan abyssal
- 15 avr. 2011
notjustjay a déclaré : Eh bien, si les fichiers .jar sont simplement des fichiers ZIP avec une extension différente, vous pouvez les compresser et les décompresser librement à partir du terminal à l'aide des commandes 'zip' et 'unzip'.
Ou utilisez la commande « jar », qui est écrite expressément à cet effet, et maintient l'ordre correct des manifestes (qui doivent généralement résider comme la première entrée, ou au plus l'une des premières).
Je suis presque sûr que la commande jar est installée par défaut. Cela devrait également continuer à être vrai sur 10.7 Lion.
pasjustjay
- 19 sept. 2003
- canadien, hein ?
- 15 avr. 2011
chown33 a dit : Ou utilisez la commande 'jar', qui est écrite expressément à cet effet, et maintient l'ordre correct des manifestes (qui doit généralement résider comme la première entrée, ou au plus l'une des premières).
Je suis presque sûr que la commande jar est installée par défaut. Cela devrait également continuer à être vrai sur 10.7 Lion.
Ah, encore mieux. Merci, je ne savais pas à ce sujet.
pilotError
- 12 avr. 2006
- Long Island
- 15 avr. 2011
$jar -xvf jarfile.jar ** Extrait les fichiers
** modifier le fichier **
$jar -cvf jarfile.jar ** Créer le nouveau fichier Jar
dudleybrooks
Affiche originale- 4 avr. 2011
- San Francisco
- 15 avr. 2011
chown33
Modérateur
Membre du staff- 9 août 2009
- le plan abyssal
- 15 avr. 2011
dudleybrooks a dit : Merci. La méthode de PilotError était simple et réussie - pas d'erreurs logicielles, d'erreurs de débutant ou même d'erreurs de pilote. Mais il y avait encore plus d'étapes que j'en avais besoin dans Windows : passer du Terminal après le désarchivage, au bureau pour utiliser un éditeur (ma faute, certes, de ne pas connaître le ou les éditeurs unix auxquels je suppose que Terminal a accès) , puis revenez au terminal pour réarchiver - plus les frappes supplémentaires nécessaires pour les commandes unix. J'aimerais toujours trouver un éditeur qui fait tout * dans un seul programme, comme IZArc l'a fait sous Windows : ctrl-open, edit, ctrl-close -- zip-zip (jeu de mots) !
Je ne connais aucun outil qui fait tout. Franchement, c'est la première fois que je vois quelqu'un demander comment éditer un fichier dans un jar sur Mac OS, donc je suppose qu'il n'y a pas un grand marché cible.
Vous pouvez coller des lignes de commande dans Terminal, alors enregistrez simplement les commandes dans un fichier texte, puis copiez et collez. Aucune saisie nécessaire.
Voici à peu près ce que je voudrais enregistrer dans le fichier texte :
Code : |_+_| Vous devez évidemment remplacer le fichier jarfile.jar par le fichier jar que vous avez.
J'ai montré ## parce qu'il s'agit du véritable caractère de commentaire pour bash.
J'ai également montré une commande 'open -e' avec un chemin que vous devrez remplacer. L'open -e ouvrira le fichier nommé dans TextEdit.app. Si vous préférez un autre éditeur à la place, vous pouvez dire à 'open' de l'utiliser à la place. Voici la page de manuel de la commande 'open' :
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Regardez les options -a et -b en particulier.
Enfin, vous pouvez y mettre d'autres commandes, comme un 'cd someDir' ou tout ce que vous voulez.
Vous pourriez probablement écrire un script « sed » pour effectuer le remplacement, de sorte que vous n'auriez pas du tout à modifier manuellement le fichier. Ensuite, vous pouvez transformer le tout dans un script shell, l'encapsuler dans un AppleScript et l'enregistrer en tant que droplet. Ensuite, à l'avenir, il vous suffit de déposer votre application d'origine sur le droplet AppleScript et toutes les modifications seront automatiquement effectuées. Vous auriez à écrire et à déboguer tout cela, cependant, et cela prendrait probablement des heures de plus que de simplement faire un copier/coller lorsque l'application est mise à jour.
Si la modification apportée au fichier jar est quelque chose que le fournisseur devrait fournir, vous devriez probablement déposer un rapport de bogue concernant l'application. Parce que la solution la plus propre est de ne pas avoir à le réparer vous-même du tout.
pilotError
- 12 avr. 2006
- Long Island
- 15 avr. 2011
Il existe des utilitaires zip sous OS X, mais il est vrai que je n'utilise pas OS X comme j'utilise Windows. Je suis sûr que vous pourriez retrouver l'un des programmes qui vous permettra de faire la même chose, mais pour ce qui était nécessaire ici, cela ne valait pas la peine de le chercher. ré
dudleybrooks
Affiche originale- 4 avr. 2011
- San Francisco
- 16 avr. 2011
Chown33 : Merci pour les conseils sur l'automatisation et les détails impliqués. je vais les essayer. OMG, je pourrais devenir programmeur !
C'est quelque chose que *je* pense devoir être corrigé, mais ce n'est pas un bogue : Thunderbird dispose d'une fonction de recherche avancée pour les adresses e-mail, qui peut renvoyer plusieurs adresses. Si vous cliquez sur Écrire, il les place tous dans les champs « À » (sans autre option). Le changement fait qu'il les met dans les champs 'BCC', pour une meilleure nétiquette. TB 1.x avait cette option, mais l'a perdue dans 2.x. P
peregin55
- 25 février 2008
- 8 mai 2011
Sous Linux et Mac OS X, j'utilise emacs pour éditer des fichiers dans un jar. Tapez simplement :
emacs somejar.jar
Vous pouvez ensuite parcourir tous les fichiers du pot, les ouvrir, les enregistrer, peu importe à l'aide des commandes emacs standard. Toutes les modifications que vous apportez seront automatiquement appliquées au pot (pas besoin de déverrouiller manuellement quoi que ce soit)
dudleybrooks
Affiche originale- 4 avr. 2011
- San Francisco
- 8 mai 2011
peregin55
C'est bon à savoir.
-
Dudley B
grand désastre
- 14 janvier 2010
- 8 juin 2012
Des idées?
TopHatProductions115
- 22 août 2016
- 10 novembre 2016
pilotError a dit : Ou vous pouvez utiliser la commande jar. Les paramètres sont comme les utilitaires zip de la ligne de commande
$jar -xvf jarfile.jar ** Extrait les fichiers
** modifier le fichier **
$jar -cvf jarfile.jar ** Créer le nouveau fichier Jar
Cela fonctionnera-t-il pour les archives java signées ?
michaelwarne
- 11 novembre 2016
- 11 novembre 2016
- Accédez à l'emplacement du fichier à partir du terminal.
- Tapez vim nom.jar
- Sélectionnez le fichier que vous souhaitez modifier et appuyez sur Entrée
- Modifiez le fichier et appuyez sur Echap et :wq! pour enregistrer et quitter.
okieiam
- 17 déc. 2016
- 18 déc. 2016
jtara
- 23 avr. 2009
- 21 déc. 2016
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions C
Clovr
- 13 novembre 2018
- 13 novembre 2018
michaelwarne a dit : Vous pouvez utiliser l'éditeur vim pour éditer les fichiers dans n'importe quel fichier texte compressé.ne pouvons-nous pas automatiser cela à l'aide d'un bash ? ce serait très utile si vous vous éclairez à travers cela.
J'espère que cela t'aides.
- Accédez à l'emplacement du fichier à partir du terminal.
- Tapez vim nom.jar
- Sélectionnez le fichier que vous souhaitez modifier et appuyez sur Entrée
- Modifiez le fichier et appuyez sur Echap et :wq! pour enregistrer et quitter.
Articles Populaires