dudleybrooks
Manifesto originale- 4 aprile 2011
- San Francisco
- 14 aprile 2011
jiminaus
- 16 dicembre 2010
- Sydney
- 15 aprile 2011
'Modificare una singola riga in un file .jar' non ha senso direttamente nel contesto del file .jar. Se ci dici esattamente cosa vuoi fare con quel file .jar, potremmo essere in grado di dirti quali strumenti/programmi di Mac OS X puoi usare e come. m
muffin
- 15 settembre 2006
- 15 aprile 2011
Le fasi sono davvero tre: estrazione, modifica e rimontaggio.
L'estrazione è facile: fai clic con il pulsante destro del mouse e fai clic su unarchieve (afaik).
Modifica: se è il manifest (classe da eseguire e così via) allora è facile, tuttavia i file java sono compilati in file .class e dovranno essere smontati prima della modifica.
Per mettere tutto insieme, cerca su Google il comando 'jar' per il terminale.
Se è FOSS è meglio e più facile compilare dai sorgenti; in caso contrario, non penso sia legittimo al 100%. D
dudleybrooks
Manifesto originale- 4 aprile 2011
- San Francisco
- 15 aprile 2011
Ho apportato questa modifica molte, molte volte in Windows (vale a dire ogni volta che ho scaricato un aggiornamento, che, ovviamente, ha cancellato la mia modifica precedente). La persona che ha consigliato la modifica ha anche consigliato un (un)archiver chiamato IZArc, in cui l'intero processo potrebbe essere eseguito dall'interno di IZArc: apri (annulla) il file .jar, trova il file .js, modifica la riga ... e quindi fare clic su Esci per riportare tutto allo stato archiviato.
Capisco che posso annullare l'archiviazione del .jar con qualsiasi unarchiver e modificare il .js con qualsiasi editor di testo. Immagino che la mia preoccupazione sia che, non essendo un programmatore, potrei fare qualcosa di dannoso nella riarchiviazione: non archiviare tutti i file rilevanti o archiviare troppi file o qualcosa del genere.
Quindi la mia domanda è: esiste un archiviatore (si spera nel sistema operativo) che farà tutto quanto sopra da se stesso, in modo che io sappia che il file .jar finale contiene esattamente i file che dovrebbe contenere? Oppure, in mancanza, cosa devo fare per assicurarmi di averlo riarchiviato correttamente? Mi rendo conto che in questo forum questa è una domanda da principiante completo.
notjustjay
- 19 settembre 2003
- Canada, eh?
- 15 aprile 2011
chown33
Moderatore
Membro dello staff- 9 agosto 2009
- il Piano Abissale
- 15 aprile 2011
notjustjay ha detto: Bene, se i file .jar sono semplicemente file ZIP con un'estensione diversa, puoi comprimerli e decomprimerli liberamente dal Terminale usando i comandi 'zip' e 'unzip'.
Oppure usa il comando 'jar', che è scritto espressamente per questo scopo, e mantiene l'ordine corretto per i manifest (che tipicamente devono risiedere come prima voce, o al massimo una delle prime).
Sono abbastanza sicuro che il comando jar sia installato di default. Questo dovrebbe continuare ad essere vero anche su 10.7 Lion.
notjustjay
- 19 settembre 2003
- Canada, eh?
- 15 aprile 2011
chown33 ha detto: Oppure usa il comando 'jar', che è scritto espressamente per questo scopo, e mantiene l'ordine corretto per i manifest (che tipicamente deve risiedere come prima voce, o al massimo una delle prime).
Sono abbastanza sicuro che il comando jar sia installato per impostazione predefinita. Questo dovrebbe continuare ad essere vero anche su 10.7 Lion.
Ah, ancora meglio. Grazie, non lo sapevo.
errore pilota
- 12 aprile 2006
- Long Island
- 15 aprile 2011
$jar -xvf jarfile.jar ** Estrae i file
** modifica il file **
$jar -cvf jarfile.jar ** Crea il nuovo file Jar
dudleybrooks
Manifesto originale- 4 aprile 2011
- San Francisco
- 15 aprile 2011
chown33
Moderatore
Membro dello staff- 9 agosto 2009
- il Piano Abissale
- 15 aprile 2011
dudleybrooks ha detto: Grazie. Il metodo di PilotError è stato semplice e di successo: nessun errore software, errore da principiante o persino errore del pilota. Ma aveva ancora più passaggi di quelli di cui avevo bisogno in Windows: passare da Terminale dopo l'annullamento dell'archiviazione, al desktop per utilizzare un editor (colpa mia, ammettiamolo, per non conoscere gli editor unix a cui presumo che Terminal abbia accesso) , quindi torna a Terminale per riarchiviare, oltre a più tasti premuti necessari per i comandi unix. Mi piacerebbe comunque trovare un editor che lo faccia *tutto* all'interno di un programma, come ha fatto IZArc in Windows: ctrl-open, edit, ctrl-close -- zip-zip (gioco di parole)!
Non conosco nessuno strumento che faccia tutto. Francamente, questa è la prima volta che vedo qualcuno chiedere come modificare un file all'interno di un jar su Mac OS, quindi immagino che non ci sia un grande mercato di riferimento.
Puoi incollare le righe di comando in Terminale, quindi salva i comandi in un file di testo, quindi copia e incolla. Non è necessaria alcuna digitazione.
Ecco più o meno cosa salverei nel file di testo:
Codice: |_+_| Dovresti ovviamente cambiare il jarfile.jar nel file jar effettivo che hai.
Ho mostrato ## perché quelli sono il vero carattere di commento per bash.
Ho anche mostrato un comando 'open -e' con un percorso che dovrai sostituire. L'open -e aprirà il file denominato in TextEdit.app. Se hai un altro editor che preferisci, puoi dire ad 'open' di usarlo al suo posto. Ecco la pagina man per il comando 'open':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Guarda le opzioni -a e -b in particolare.
Infine, puoi inserire altri comandi, come un 'cd someDir' o qualsiasi altra cosa tu voglia.
Probabilmente potresti scrivere uno script 'sed' per eseguire la sostituzione, in modo da non dover modificare manualmente il file. Quindi potresti trasformare il tutto in uno script di shell, avvolgerlo in un AppleScript e salvarlo come una goccia. Quindi, in futuro, rilasci semplicemente la tua app originale sul droplet AppleScript e farebbe automaticamente tutte le modifiche. Dovresti scrivere ed eseguire il debug di tutte quelle cose, però, e probabilmente ci vorrebbero ore in più rispetto a fare semplicemente un copia/incolla quando l'app viene aggiornata.
Se la modifica al jar è qualcosa che il fornitore dovrebbe fornire, probabilmente dovresti presentare una segnalazione di bug sull'app. Perché la soluzione più pulita è non doverla riparare da soli.
errore pilota
- 12 aprile 2006
- Long Island
- 15 aprile 2011
Ci sono utility zip sotto OS X, ma devo ammettere che non uso OS X come uso Windows. Sono sicuro che potresti rintracciare uno dei programmi che ti permetterà di fare la stessa cosa, ma per quello che era necessario qui, non valeva la pena cercarlo. D
dudleybrooks
Manifesto originale- 4 aprile 2011
- San Francisco
- 16 aprile 2011
Chown33: Grazie per i consigli sull'automazione e sui dettagli coinvolti. le proverò. OMG, potrei diventare un programmatore!
È qualcosa che *penso* dovrebbe essere corretto, ma non è un bug: Thunderbird ha una funzione di ricerca avanzata per gli indirizzi e-mail, che potrebbe restituire più indirizzi. Se fai clic su Scrivi, li inserisce tutti nei campi 'A' (senza altre opzioni). La modifica li fa inserire nei campi 'BCC', per una migliore netiquette. TB 1.x aveva questa opzione, ma l'ha persa in 2.x. P
peregin55
- 25 febbraio 2008
- 8 maggio 2011
Su Linux e Mac OS X uso emacs per modificare i file all'interno di un jar. Basta digitare:
emacs somejar.jar
Puoi quindi sfogliare tutti i file nel jar, aprire, salvare, qualunque cosa usando i comandi standard di emacs. Tutte le modifiche apportate verranno applicate automaticamente al barattolo (non è necessario rimuovere manualmente nulla)
dudleybrooks
Manifesto originale- 4 aprile 2011
- San Francisco
- 8 maggio 2011
peregin55
Buono a sapersi.
-
Dudley B
grande disastro
- 14 gennaio 2010
- 8 giugno 2012
Qualche idea?
CilindroProduzioni115
- 22 agosto 2016
- 10 novembre 2016
pilotError ha detto: oppure puoi usare il comando jar. I parametri sono proprio come le utilità zip della riga di comando
$jar -xvf jarfile.jar ** Estrae i file
** modifica il file **
$jar -cvf jarfile.jar ** Crea il nuovo file Jar
Funzionerà per gli archivi java firmati?
michaelwarne
- 11 novembre 2016
- 11 novembre 2016
- Vai alla posizione del file dal terminale.
- Digita nome vim.jar
- Seleziona il file che vuoi modificare e premi Invio
- Modifica il file e premi Esc e :wq! per salvare e uscire.
okieiam
- 17 dicembre 2016
- 18 dicembre 2016
jtara
- 23 aprile 2009
- 21 dicembre 2016
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions C
Clovr
- 13 novembre 2018
- 13 novembre 2018
michaelwarne ha detto: È possibile utilizzare l'editor vim per modificare i file in qualsiasi file di testo compresso.non possiamo automatizzarlo usando un bash? sarebbe molto utile se lo illuminassi.
Spero questo sia di aiuto.
- Vai alla posizione del file dal terminale.
- Digita nome vim.jar
- Seleziona il file che vuoi modificare e premi Invio
- Modifica il file e premi Esc e :wq! per salvare e uscire.
Messaggi Popolari