Alte

Mac Cum se modifică un fișier java .jar?

D

dudleybrooks

Poster original
4 aprilie 2011
San Francisco
  • 14 aprilie 2011
Trebuie să fac o modificare simplă într-o aplicație (Thunderbird.app) -- schimbarea unei singure linii într-un fișier .jar. Pe vechiul meu computer Windows știam ce software să folosesc. Care este cel mai simplu mod în Snow Leopard de a deschide, modifica și salva fișierul .jar în aplicație? Folosind de preferință lucruri care sunt încorporate în sistemul de operare; dacă nu, atunci folosind freeware?

jiminaus

16 decembrie 2010


Sydney
  • 15 aprilie 2011
Un fișier .jar este doar un fișier .zip cu o extensie diferită (și un aspect standard/predefinit). Puteți utiliza programele standard de zip și dezarhivare din /usr/bin pentru a modifica un fișier .jar, presupunând că nu este semnat.

„Schimbarea unei singure linii într-un fișier .jar” nu are sens direct în contextul fișierului .jar. Dacă ne spuneți exact ce doriți să faceți cu acel fișier .jar, s-ar putea să vă putem spune ce instrumente/programe Mac OS X puteți utiliza și cum. M

muflon

15 septembrie 2006
  • 15 aprilie 2011
Postat fără fir (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 ca Mac OS X; sv-se) AppleWebKit/533.17.9 (KHTML, ca Gecko) Versiunea/5.0.2 Mobile/8C148 Safari/6533.18.5)

Există într-adevăr trei faze: extragerea, modificarea și reasamblarea.

Extragerea este ușoară: faceți clic dreapta și faceți clic pe unarchieve (afaik).

Modificare: dacă este manifestul (ce clasa să ruleze și așa mai departe), atunci este ușor, totuși fișierele java sunt compilate în fișiere .class și vor trebui dezasamblate înainte de modificare.

Pentru a pune totul împreună, căutați pe Google comanda „jar” pentru terminal.

Dacă este FOSS, este mai bine și mai ușor de compilat din sursă; dacă nu, atunci nu cred că este 100% legitim. D

dudleybrooks

Poster original
4 aprilie 2011
San Francisco
  • 15 aprilie 2011
Trebuie să schimb o linie dintr-un fișier .js conținut în fișierul .jar. Dar răspunsul tău îmi clarifică întrebarea:

Am făcut această modificare de multe, de multe ori sub Windows (și anume de fiecare dată când am descărcat un upgrade, care, desigur, mi-a șters modificarea anterioară). Persoana care a recomandat modificarea a recomandat și un (dez)arhivat numit IZArc, în care întregul proces se putea face din interiorul IZArc -- deschideți (dezarhivați) fișierul .jar, găsiți fișierul .js, editați linia... iar apoi făcând clic pe Ieșire ar reveni totul la starea sa arhivată.

Înțeleg că pot dezarhiva fișierul .jar cu orice dispozitiv de dezarhivare și pot edita fișierul .js cu orice editor de text. Cred că îngrijorarea mea este că, nefiind programator, aș putea face ceva dăunător în re-arhivare -- să nu arhivez toate fișierele relevante sau să arhivez prea multe fișiere sau ceva de genul ăsta.

Deci întrebarea mea este: Există un arhivator (sper că în sistemul de operare) care va face toate cele de mai sus din interiorul său, astfel încât să știu că .jarul final conține exact fișierele pe care ar trebui să le conțină? Sau, în caz contrar, ce trebuie să fac pentru a mă asigura că l-am rearhivat corect? Îmi dau seama că pe acest forum aceasta este o întrebare completă pentru începători.

nu doar jay

19 septembrie 2003
Canada, nu?
  • 15 aprilie 2011
Ei bine, dacă fișierele .jar sunt pur și simplu fișiere ZIP cu o extensie diferită, atunci le puteți arhiva și dezarhiva liber din Terminal folosind comenzile „zip” și „unzip”.

chown33

Moderator
Membru al personalului
9 august 2009
planul abisal
  • 15 aprilie 2011
notjustjay a spus: Ei bine, dacă fișierele .jar sunt pur și simplu fișiere ZIP cu o extensie diferită, atunci le puteți arhiva și dezarhiva liber din Terminal folosind comenzile „zip” și „unzip”.

Sau utilizați comanda „jar”, ​​care este scrisă în mod expres în acest scop și menține ordinea corectă pentru manifeste (care de obicei trebuie să fie prima intrare sau cel mult una dintre primele câteva).

Sunt destul de sigur că comanda jar este instalată implicit. Acest lucru ar trebui să fie valabil și pe 10.7 Lion.
Reacții:abronsdilan

nu doar jay

19 septembrie 2003
Canada, nu?
  • 15 aprilie 2011
chown33 a spus: Sau utilizați comanda „jar”, ​​care este scrisă în mod expres în acest scop și menține ordinea corectă pentru manifeste (care de obicei trebuie să fie prima intrare sau cel mult una dintre primele câteva).

Sunt destul de sigur că comanda jar este instalată implicit. Acest lucru ar trebui să fie valabil și pe 10.7 Lion.

Ah, chiar mai bine. Mulțumesc, nu știam despre asta.

pilotError

12 aprilie 2006
Insula lunga
  • 15 aprilie 2011
Sau puteți folosi comanda jar. Parametrii sunt la fel ca utilitarele zip din linia de comandă

$jar -xvf jarfile.jar ** Extrage fișierele

** editați fișierul **

$jar -cvf jarfile.jar ** Creați noul fișier Jar
Reacții:abronsdilan D

dudleybrooks

Poster original
4 aprilie 2011
San Francisco
  • 15 aprilie 2011
Mulțumiri. Metoda PilotError a fost simplă și de succes -- fără erori de software, erori pentru începători sau chiar erori de pilot. Dar încă avea mai mulți pași decât aveam nevoie în Windows: trecerea de la Terminal după dezarhivare, la desktop pentru a folosi un editor (din vina mea, desigur, pentru că nu cunosc editorul(ele) Unix la care presupun Terminalul are acces) , apoi înapoi la Terminal pentru a rearhiva -- plus cele mai multe apăsări de taste necesare pentru comenzile Unix. Aș vrea totuși să găsesc un editor care să facă *toate* într-un singur program, așa cum a făcut IZArc în Windows: ctrl-open, edit, ctrl-close -- zip-zip (joc de cuvinte)!

chown33

Moderator
Membru al personalului
9 august 2009
planul abisal
  • 15 aprilie 2011
dudleybrooks a spus: Mulțumesc. Metoda PilotError a fost simplă și de succes -- fără erori de software, erori pentru începători sau chiar erori de pilot. Dar încă avea mai mulți pași decât aveam nevoie în Windows: trecerea de la Terminal după dezarhivare, la desktop pentru a folosi un editor (din vina mea, desigur, pentru că nu cunosc editorul(ele) Unix la care presupun Terminalul are acces) , apoi înapoi la Terminal pentru a rearhiva -- plus cele mai multe apăsări de taste necesare pentru comenzile Unix. Aș vrea totuși să găsesc un editor care să facă *toate* într-un singur program, așa cum a făcut IZArc în Windows: ctrl-open, edit, ctrl-close -- zip-zip (joc de cuvinte)!

Nu cunosc niciun instrument care să facă totul. Sincer, este prima dată când văd pe cineva întreabă cum să editeze un fișier într-un borcan pe Mac OS, așa că bănuiesc că nu există o piață țintă mare.

Puteți lipi linii de comandă în Terminal, așa că doar salvați comenzile într-un fișier text, apoi copiați și inserați. Nu este nevoie de tastare.

Iată aproximativ ce aș salva în fișierul text:
Cod: |_+_| În mod evident, ar trebui să schimbați jarfile.jar în fișierul jar real pe care îl aveți.

Am arătat ## deoarece acestea sunt caracterul de comentariu real pentru bash.

Am arătat, de asemenea, o comandă „deschidere -e” cu un nume de cale pe care va trebui să îl înlocuiți. Deschiderea -e va deschide fișierul numit în TextEdit.app. Dacă aveți un alt editor pe care îl preferați, puteți spune „deschide” să îl utilizați în schimb. Iată pagina de manual pentru comanda „deschidere”:
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Priviți în special opțiunile -a și -b.

În cele din urmă, puteți introduce alte comenzi acolo, cum ar fi un „cd someDir” sau orice altceva doriți.

Probabil că ați putea scrie un script „sed” pentru a face înlocuirea, astfel încât să nu trebuiască deloc să editați manual fișierul. Apoi ai putea transforma totul într-un script shell, să-l înfășurați într-un AppleScript și să îl salvați ca picătură. Apoi, în viitor, pur și simplu aruncați aplicația originală în droplet-ul AppleScript și va face toate modificările automat. Totuși, ar trebui să scrieți și să depanați toate aceste lucruri și probabil că va dura ore mai mult decât să faceți o copiere/inserare atunci când aplicația este actualizată.

Dacă modificarea borcanului este ceva ce furnizorul ar trebui să ofere, probabil ar trebui să depuneți un raport de eroare împotriva aplicației. Pentru că cea mai curată soluție este să nu fii deloc nevoit să o repari singur.

pilotError

12 aprilie 2006
Insula lunga
  • 15 aprilie 2011
Pe Windows, puteți utiliza programe precum pkzip sau winzip care arată conținutul în fereastră și puteți face doar dublu clic pe un fișier care apoi este extras sub capotă și trimis la programul asociat (editor).

Există utilitare zip sub OS X, dar, desigur, nu folosesc OS X așa cum folosesc Windows. Sunt sigur că ați putea urmări unul dintre programele care vă vor permite să faceți același lucru, dar pentru ceea ce era necesar aici, nu a meritat să îl căutați. D

dudleybrooks

Poster original
4 aprilie 2011
San Francisco
  • 16 aprilie 2011
PilotError și Chown33: Sunt sigur că aveți dreptate în privința lipsei de piață în OS X.

Chown33: Mulțumesc pentru sfatul despre automatizare și detaliile implicate. O sa le incerc. OMG, s-ar putea să devin programator!

Este ceva *cred că ar trebui remediat, dar nu este o eroare: Thunderbird are o facilitate de căutare avansată pentru adrese de e-mail, care ar putea returna mai multe adrese. Dacă faceți clic pe Scrie, le pune pe toate în câmpurile „Către” (fără altă opțiune). Schimbarea îi face să le pună în câmpuri „BCC”, pentru o netichetă mai bună. TB 1.x avea această opțiune, dar a pierdut-o în 2.x. P

peregin55

25 februarie 2008
  • 8 mai 2011
Emacs va face ce vrei tu

Pe Linux și Mac OS X folosesc emacs pentru a edita fișiere într-un borcan. Doar tastați:

emacs somejar.jar

Puteți apoi să răsfoiți toate fișierele din jar, să deschideți, să salvați, oricare ar fi folosind comenzile standard emacs. Orice modificări pe care le faceți vor fi aplicate automat borcanului (nu este nevoie să dezactivați manual nimic)
Reacții:abronsdilan D

dudleybrooks

Poster original
4 aprilie 2011
San Francisco
  • 8 mai 2011
Mulțumiri!

peregin55

E bine de stiut.

-
Dudley B

mare dezastru

14 ianuarie 2010
  • 8 iunie 2012
argh. nu merge. Trebuie să înlocuiesc câteva șiruri de caractere în fișierele .class (folosesc exact același număr de simboluri), apoi încerc să-l reambalez cu comanda jar, dar fișierul rezultat este cu câțiva octeți mai mic decât cel inițial, iar când am Încercați să-l instalez pe mobil, scrie „format borcan greșit”.
Vreo idee?

TopHatProductions115

22 august 2016
  • 10 noiembrie 2016
pilotError a spus: Sau puteți folosi comanda jar. Parametrii sunt la fel ca utilitarele zip din linia de comandă

$jar -xvf jarfile.jar ** Extrage fișierele

** editați fișierul **

$jar -cvf jarfile.jar ** Creați noul fișier Jar


Va funcționa acest lucru pentru arhivele java semnate?

michaelwarne

11 noiembrie 2016
  • 11 noiembrie 2016
Puteți folosi editorul vim pentru a edita fișierele din orice fișier text comprimat.
  1. Navigați la locația fișierului de pe terminal.
  2. Tastați vim name.jar
  3. Selectați fișierul pe care doriți să îl modificați și apăsați Enter
  4. Editați fișierul și apăsați Esc și :wq! pentru a salva și a renunța.
Sper că acest lucru vă ajută.

okieiam

17 decembrie 2016
  • 18 decembrie 2016
Da și eu, foloseam 7zip pentru a edita classpath în fișierul jar în Windows J

jtara

23 aprilie 2009
  • 21 decembrie 2016
Dacă trebuie să modificați thunderbird.app, utilizați sursa, faceți modificarea și construiți-l.

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions C

Clovr

13 noiembrie 2018
  • 13 noiembrie 2018
michaelwarne a spus: Puteți folosi editorul vim pentru a edita fișierele din orice fișier text comprimat.
  1. Navigați la locația fișierului de pe terminal.
  2. Tastați vim name.jar
  3. Selectați fișierul pe care doriți să îl modificați și apăsați Enter
  4. Editați fișierul și apăsați Esc și :wq! pentru a salva și a renunța.
Sper că acest lucru vă ajută.
nu putem automatiza asta folosind un bash? ar fi de mare ajutor dacă te-ai lumina prin ea.
Reacții:abronsdilan