Αλλα

Mac Πώς να τροποποιήσετε ένα αρχείο java .jar;

ρε

dudleybrooks

Πρωτότυπη αφίσα
4 Απριλίου 2011
Σαν Φρανσίσκο
  • 14 Απριλίου 2011
Πρέπει να κάνω μια απλή τροποποίηση σε μια εφαρμογή (Thunderbird.app) -- αλλαγή μιας γραμμής σε ένα αρχείο .jar. Στον παλιό μου υπολογιστή με Windows ήξερα ποιο λογισμικό να χρησιμοποιήσω. Ποιος είναι ο ευκολότερος τρόπος στο Snow Leopard για να ανοίξετε, να τροποποιήσετε και να αποθηκεύσετε το αρχείο .jar στην εφαρμογή; Κατά προτίμηση χρησιμοποιώντας πράγματα που είναι ενσωματωμένα στο λειτουργικό σύστημα. αν όχι, τότε χρησιμοποιείτε δωρεάν λογισμικό;

jiminaus

16 Δεκεμβρίου 2010


Σίδνεϊ
  • 15 Απριλίου 2011
Ένα αρχείο .jar είναι απλώς ένα αρχείο .zip με διαφορετική επέκταση (και κάποια τυπική/προκαθορισμένη διάταξη). Θα μπορούσατε να χρησιμοποιήσετε τα τυπικά προγράμματα zip και unzip στο /usr/bin για να αλλάξετε ένα αρχείο .jar, υποθέτοντας ότι δεν είναι υπογεγραμμένο.

Η 'αλλαγή μιας γραμμής σε ένα αρχείο .jar' δεν έχει νόημα άμεσα στο πλαίσιο του αρχείου .jar. Εάν μας πείτε ακριβώς τι θέλετε να κάνετε με αυτό το αρχείο .jar, ίσως μπορούμε να σας πούμε ποια εργαλεία/προγράμματα Mac OS X μπορείτε να χρησιμοποιήσετε και πώς. Μ

μάφλον

15 Σεπτεμβρίου 2006
  • 15 Απριλίου 2011
Αναρτήθηκε ασύρματα (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 όπως το Mac OS X; sv-se) AppleWebKit/533.17.9 (KHTML, όπως Gecko) Έκδοση/5.0.2 Mobile/8C148 Safari/6533.18.5)

Υπάρχουν πραγματικά τρεις φάσεις: εξαγωγή, τροποποίηση και συναρμολόγηση ξανά μαζί.

Η εξαγωγή είναι εύκολη: κάντε δεξί κλικ και κάντε κλικ στο unarchieve (afaik).

Τροποποίηση: εάν είναι το μανιφέστο (ποια κλάση εκτελείται και ούτω καθεξής) τότε είναι εύκολο, ωστόσο τα αρχεία java μεταγλωττίζονται σε αρχεία .class και θα χρειαστεί αποσυναρμολόγηση πριν από την τροποποίηση.

Για να τα συνδυάσετε όλα μαζί, google την εντολή 'jar' για το τερματικό.

Εάν είναι FOSS, είναι καλύτερο και ευκολότερο να μεταγλωττιστεί από την πηγή. αν όχι τότε δεν νομίζω ότι είναι 100% νόμιμο. ρε

dudleybrooks

Πρωτότυπη αφίσα
4 Απριλίου 2011
Σαν Φρανσίσκο
  • 15 Απριλίου 2011
Πρέπει να αλλάξω μια γραμμή σε ένα αρχείο .js που περιέχεται στο αρχείο .jar. Αλλά η απάντησή σας διευκρινίζει την ερώτησή μου:

Έκανα αυτή την αλλαγή πολλές, πολλές φορές στα Windows (δηλαδή κάθε φορά που κατέβαζα μια αναβάθμιση, η οποία, φυσικά, εξαφάνιζε την προηγούμενη αλλαγή μου). Το άτομο που πρότεινε την αλλαγή πρότεινε επίσης μια (α)αρχειοθέτηση που ονομάζεται IZArc, στην οποία η όλη διαδικασία μπορούσε να γίνει από το εσωτερικό του IZArc -- ανοίξτε (αποαρχειοθετήστε) το αρχείο .jar, βρείτε το αρχείο .js, επεξεργαστείτε τη γραμμή ... και, στη συνέχεια, κάνοντας κλικ στο κουμπί Έξοδος θα επέστρεφε τα πάντα στην αρχειοθετημένη τους κατάσταση.

Καταλαβαίνω ότι μπορώ να καταργήσω την αρχειοθέτηση του .jar με οποιοδήποτε πρόγραμμα unarchiver και να επεξεργαστώ το .js με οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Υποθέτω ότι ανησυχώ ότι, επειδή δεν είμαι προγραμματιστής, μπορεί να κάνω κάτι επιβλαβές στην εκ νέου αρχειοθέτηση -- να μην αρχειοθετήσω όλα τα σχετικά αρχεία ή να αρχειοθετήσω πάρα πολλά αρχεία ή κάτι τέτοιο.

Οπότε η ερώτησή μου είναι: Υπάρχει κάποιος αρχειοθέτης (ελπίζω στο λειτουργικό σύστημα) που θα κάνει όλα τα παραπάνω από μέσα του, ώστε να ξέρω ότι το τελικό .jar περιέχει ακριβώς τα αρχεία που πρέπει να περιέχει; Ή, σε αντίθετη περίπτωση, τι πρέπει να κάνω για να βεβαιωθώ ότι το έχω ξανά αρχειοθετήσει σωστά; Αντιλαμβάνομαι ότι σε αυτό το φόρουμ αυτή είναι μια εντελώς νέα ερώτηση.

notjustjay

19 Σεπτεμβρίου 2003
Καναδάς, ε;
  • 15 Απριλίου 2011
Λοιπόν, εάν τα αρχεία .jar είναι απλά αρχεία ZIP με διαφορετική επέκταση, τότε μπορείτε να τα αποσυμπιέσετε και να τα αποσυμπιέσετε ελεύθερα από το Τερματικό χρησιμοποιώντας τις εντολές 'zip' και 'unzip'.

chown33

Μεσολαβητής
Μέλος του προσωπικού
9 Αυγούστου 2009
το αβυσσαλέο αεροπλάνο
  • 15 Απριλίου 2011
notjustjay είπε: Λοιπόν, αν τα αρχεία .jar είναι απλά αρχεία ZIP με διαφορετική επέκταση, τότε μπορείτε να τα συμπιεστείτε και να τα αποσυμπιέσετε ελεύθερα από το Τερματικό χρησιμοποιώντας τις εντολές 'zip' και 'unzip'.

Εναλλακτικά, χρησιμοποιήστε την εντολή 'jar', η οποία είναι γραμμένη ρητά για αυτόν τον σκοπό, και διατηρεί τη σωστή σειρά για δηλώσεις (η οποία συνήθως πρέπει να βρίσκεται ως η πρώτη καταχώρηση, ή το πολύ μια από τις πρώτες λίγες).

Είμαι σίγουρος ότι η εντολή jar είναι εγκατεστημένη από προεπιλογή. Αυτό θα πρέπει να συνεχίσει να ισχύει και στο 10.7 Lion.
Αντιδράσεις:abronsdilan

notjustjay

19 Σεπτεμβρίου 2003
Καναδάς, ε;
  • 15 Απριλίου 2011
chown33 είπε: Ή χρησιμοποιήστε την εντολή 'jar', η οποία είναι γραμμένη ρητά για αυτόν τον σκοπό, και διατηρεί τη σωστή σειρά για δηλώσεις (που συνήθως πρέπει να είναι η πρώτη καταχώρηση, ή το πολύ ένα από τα πρώτα λίγα).

Είμαι σίγουρος ότι η εντολή jar είναι εγκατεστημένη από προεπιλογή. Αυτό θα πρέπει να συνεχίσει να ισχύει και στο 10.7 Lion.

Α, ακόμα καλύτερα. Ευχαριστώ, δεν το ήξερα.

Σφάλμα πιλότου

12 Απριλίου 2006
Μακρύ νησί
  • 15 Απριλίου 2011
Ή μπορείτε να χρησιμοποιήσετε την εντολή jar. Οι παράμετροι είναι ακριβώς όπως τα βοηθητικά προγράμματα zip της γραμμής εντολών

$jar -xvf jarfile.jar ** Εξάγει τα αρχεία

** επεξεργαστείτε το αρχείο **

$jar -cvf jarfile.jar ** Δημιουργήστε το νέο αρχείο Jar
Αντιδράσεις:abronsdilan ρε

dudleybrooks

Πρωτότυπη αφίσα
4 Απριλίου 2011
Σαν Φρανσίσκο
  • 15 Απριλίου 2011
Ευχαριστώ. Η μέθοδος του PilotError ήταν απλή και επιτυχημένη -- χωρίς σφάλματα λογισμικού, λάθη αρχαρίων ή ακόμα και σφάλματα πιλότου. Ωστόσο, είχε περισσότερα βήματα από αυτά που χρειαζόμουν παλιά στα Windows: μετάβαση από το Terminal μετά την κατάργηση της αρχειοθέτησης, στην επιφάνεια εργασίας για να χρησιμοποιήσω ένα πρόγραμμα επεξεργασίας (μου φταίει, ομολογουμένως, που δεν γνωρίζω τον/τους επεξεργαστές unix στους οποίους υποθέτω ότι έχει πρόσβαση το Terminal) , μετά επιστρέψτε στο Terminal για εκ νέου αρχειοθέτηση -- συν τα περισσότερα πλήκτρα που απαιτούνται για τις εντολές unix. Θα ήθελα ακόμα να βρω έναν επεξεργαστή που να τα κάνει *όλα* μέσα σε ένα πρόγραμμα, όπως έκανε το IZArc στα Windows: ctrl-open, edit, ctrl-close -- zip-zip (λογοπαίγνιο)!

chown33

Μεσολαβητής
Μέλος του προσωπικού
9 Αυγούστου 2009
το αβυσσαλέο αεροπλάνο
  • 15 Απριλίου 2011
Dudleybrooks είπε: Ευχαριστώ. Η μέθοδος του PilotError ήταν απλή και επιτυχημένη -- χωρίς σφάλματα λογισμικού, λάθη αρχαρίων ή ακόμα και σφάλματα πιλότου. Ωστόσο, είχε περισσότερα βήματα από αυτά που χρειαζόμουν παλιά στα Windows: μετάβαση από το Terminal μετά την κατάργηση της αρχειοθέτησης, στην επιφάνεια εργασίας για να χρησιμοποιήσω ένα πρόγραμμα επεξεργασίας (μου φταίει, ομολογουμένως, που δεν γνωρίζω τον/τους επεξεργαστές unix στους οποίους υποθέτω ότι έχει πρόσβαση το Terminal) , μετά επιστρέψτε στο Terminal για εκ νέου αρχειοθέτηση -- συν τα περισσότερα πλήκτρα που απαιτούνται για τις εντολές unix. Θα ήθελα ακόμα να βρω έναν επεξεργαστή που να τα κάνει *όλα* μέσα σε ένα πρόγραμμα, όπως έκανε το IZArc στα Windows: ctrl-open, edit, ctrl-close -- zip-zip (λογοπαίγνιο)!

Δεν ξέρω κανένα εργαλείο που να κάνει τα πάντα. Ειλικρινά, αυτή είναι η πρώτη φορά που βλέπω κάποιον να ρωτά πώς να επεξεργαστείτε ένα αρχείο μέσα σε ένα βάζο στο Mac OS, οπότε υποθέτω ότι δεν υπάρχει μεγάλη αγορά-στόχος.

Μπορείτε να επικολλήσετε γραμμές εντολών στο Terminal, επομένως απλώς αποθηκεύστε τις εντολές σε ένα αρχείο κειμένου και, στη συνέχεια, αντιγράψτε και επικολλήστε. Δεν χρειάζεται πληκτρολόγηση.

Εδώ είναι περίπου τι θα αποθηκεύσω στο αρχείο κειμένου:
Κωδικός: |_+_| Θα πρέπει προφανώς να αλλάξετε το jarfile.jar στο πραγματικό αρχείο jar που έχετε.

Έδειξα το ## γιατί αυτοί είναι ο πραγματικός χαρακτήρας σχολίων για το bash.

Έχω δείξει επίσης μια εντολή 'open -e' με ένα όνομα διαδρομής που θα πρέπει να αντικαταστήσετε. Το open -e θα ανοίξει το αρχείο με το όνομα στο TextEdit.app. Αν έχετε άλλο πρόγραμμα επεξεργασίας που προτιμάτε, μπορείτε να πείτε στο 'open' να το χρησιμοποιήσει. Ακολουθεί η σελίδα man για την εντολή 'open':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Δείτε ειδικότερα τις επιλογές -a και -b.

Τέλος, μπορείτε να βάλετε άλλες εντολές εκεί, όπως ένα 'cd someDir' ή ό,τι άλλο θέλετε.

Θα μπορούσατε πιθανώς να γράψετε ένα σενάριο 'sed' για να κάνετε την αντικατάσταση, έτσι δεν θα χρειαστεί να επεξεργαστείτε καθόλου το αρχείο με μη αυτόματο τρόπο. Στη συνέχεια, θα μπορούσατε να το κάνετε ολόκληρο σε ένα σενάριο κελύφους, να το τυλίξετε σε ένα AppleScript και να το αποθηκεύσετε ως σταγονίδιο. Στη συνέχεια, στο μέλλον, απλώς ρίχνετε την αρχική σας εφαρμογή στο σταγονίδιο AppleScript και θα κάνει όλες τις αλλαγές αυτόματα. Θα πρέπει να γράψετε και να διορθώσετε όλα αυτά τα πράγματα, ωστόσο, και πιθανότατα θα χρειαζόταν ώρες περισσότερο από το να κάνετε απλώς μια αντιγραφή/επικόλληση όταν ενημερωθεί η εφαρμογή.

Εάν η αλλαγή στο βάζο είναι κάτι που πρέπει να παρέχει ο προμηθευτής, θα πρέπει πιθανώς να υποβάλετε μια αναφορά σφαλμάτων στην εφαρμογή. Γιατί η πιο καθαρή λύση είναι να μην χρειάζεται να το φτιάξετε καθόλου μόνοι σας.

Σφάλμα πιλότου

12 Απριλίου 2006
Μακρύ νησί
  • 15 Απριλίου 2011
Στα παράθυρα, μπορείτε να χρησιμοποιήσετε προγράμματα όπως το pkzip ή το winzip που εμφανίζουν τα περιεχόμενα στο παράθυρο και μπορείτε απλώς να κάνετε διπλό κλικ σε ένα αρχείο το οποίο στη συνέχεια εξάγεται κάτω από την κουκούλα και αποστέλλεται στο σχετικό πρόγραμμα (επεξεργαστής).

Υπάρχουν βοηθητικά προγράμματα zip στο OS X, αλλά ομολογουμένως, δεν χρησιμοποιώ το OS X όπως χρησιμοποιώ τα Windows. Είμαι βέβαιος ότι θα μπορούσατε να παρακολουθήσετε ένα από τα προγράμματα που θα σας επιτρέψουν να κάνετε το ίδιο πράγμα, αλλά για αυτό που χρειαζόταν εδώ, δεν άξιζε να το ψάξετε. ρε

dudleybrooks

Πρωτότυπη αφίσα
4 Απριλίου 2011
Σαν Φρανσίσκο
  • 16 Απριλίου 2011
PilotError και Chown33: Είμαι βέβαιος ότι έχετε δίκιο σχετικά με την έλλειψη αγοράς στο OS X.

Chown33: Ευχαριστώ για τη συμβουλή σχετικά με την αυτοματοποίηση και τις σχετικές λεπτομέρειες. θα τα δοκιμάσω. OMG, μπορεί να γίνω προγραμματιστής!

Είναι κάτι που *νομίζω* ότι πρέπει να διορθωθεί, αλλά δεν είναι σφάλμα: Το Thunderbird διαθέτει μια δυνατότητα Προηγμένης Αναζήτησης για διευθύνσεις e-mail, η οποία μπορεί να επιστρέψει πολλές διευθύνσεις. Εάν κάνετε κλικ στο Write, τα τοποθετεί όλα στα πεδία «Προς» (χωρίς άλλη επιλογή). Η αλλαγή τα κάνει να τα βάζει στα πεδία 'BCC', για καλύτερη επικοινωνία. Το TB 1.x είχε αυτή την επιλογή, αλλά την έχασε στο 2.x. Π

peregin55

25 Φεβρουαρίου 2008
  • 8 Μαΐου 2011
Το Emacs θα κάνει αυτό που θέλετε

Σε Linux και Mac OS X χρησιμοποιώ emacs για να επεξεργάζομαι αρχεία μέσα σε ένα βάζο. Απλά γράψε:

emacs somejar.βάζο

Στη συνέχεια, μπορείτε να περιηγηθείτε σε όλα τα αρχεία στο βάζο, να ανοίξετε, να αποθηκεύσετε, οτιδήποτε, χρησιμοποιώντας τυπικές εντολές emacs. Οποιεσδήποτε αλλαγές κάνετε θα εφαρμοστούν αυτόματα στο βάζο (δεν χρειάζεται να αφαιρέσετε με μη αυτόματο τρόπο οτιδήποτε)
Αντιδράσεις:abronsdilan ρε

dudleybrooks

Πρωτότυπη αφίσα
4 Απριλίου 2011
Σαν Φρανσίσκο
  • 8 Μαΐου 2011
Ευχαριστώ!

peregin55

Αυτό είναι καλό να το γνωρίζουμε.

-
Ντάντλι σι

μεγάλη καταστροφή

14 Ιανουαρίου 2010
  • 8 Ιουνίου 2012
argh. δεν λειτουργεί. Πρέπει να αντικαταστήσω μερικές συμβολοσειρές στα αρχεία .class (χρησιμοποιώ ακριβώς τον ίδιο αριθμό συμβόλων), στη συνέχεια προσπαθώ να τη συσκευάσω ξανά με την εντολή jar, αλλά το αρχείο που προκύπτει είναι μερικά byte μικρότερο από το αρχικό και όταν δοκίμασε να το εγκαταστήσω στο κινητό μου λέει 'λάθος μορφή jar'.
Καμιά ιδέα?

TopHatProductions115

22 Αυγούστου 2016
  • 10 Νοεμβρίου 2016
pilotError είπε: Ή μπορείτε να χρησιμοποιήσετε την εντολή jar. Οι παράμετροι είναι ακριβώς όπως τα βοηθητικά προγράμματα zip της γραμμής εντολών

$jar -xvf jarfile.jar ** Εξάγει τα αρχεία

** επεξεργαστείτε το αρχείο **

$jar -cvf jarfile.jar ** Δημιουργήστε το νέο αρχείο Jar


Θα λειτουργήσει αυτό για υπογεγραμμένα αρχεία java;

ο Μάικλ Βαρν

11 Νοεμβρίου 2016
  • 11 Νοεμβρίου 2016
Μπορείτε να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας vim για να επεξεργαστείτε τα αρχεία σε οποιοδήποτε συμπιεσμένο αρχείο κειμένου.
  1. Πλοηγηθείτε στη θέση αρχείου από το τερματικό.
  2. Πληκτρολογήστε vim name.jar
  3. Επιλέξτε το αρχείο που θέλετε να αλλάξετε και πατήστε Enter
  4. Επεξεργαστείτε το αρχείο και πατήστε Esc και :wq! να σώσει και να σταματήσει.
Ελπίζω ότι αυτό βοηθά.

okieiam

17 Δεκεμβρίου 2016
  • 18 Δεκεμβρίου 2016
Ναι και εγώ, χρησιμοποιούσα το 7zip για να επεξεργάζομαι το classpath στο αρχείο jar στα Windows J

jtara

23 Απριλίου 2009
  • 21 Δεκεμβρίου 2016
Εάν χρειάζεται να τροποποιήσετε το thunderbird.app, χρησιμοποιήστε την πηγή, κάντε την αλλαγή σας και δημιουργήστε την.

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions ντο

Clovr

13 Νοεμβρίου 2018
  • 13 Νοεμβρίου 2018
michaelwarne είπε: Μπορείτε να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας vim για να επεξεργαστείτε τα αρχεία σε οποιοδήποτε συμπιεσμένο αρχείο κειμένου.
  1. Πλοηγηθείτε στη θέση αρχείου από το τερματικό.
  2. Πληκτρολογήστε vim name.jar
  3. Επιλέξτε το αρχείο που θέλετε να αλλάξετε και πατήστε Enter
  4. Επεξεργαστείτε το αρχείο και πατήστε Esc και :wq! να σώσει και να σταματήσει.
Ελπίζω ότι αυτό βοηθά.
δεν μπορούμε να το αυτοματοποιήσουμε χρησιμοποιώντας ένα bash; θα ήταν πολύ χρήσιμο αν το διαφωτίσεις.
Αντιδράσεις:abronsdilan