Lainnya

Mac Bagaimana cara memodifikasi file java .jar?

D

dudleybrooks

poster asli
4 April 2011
San Fransisco
  • 14 April 2011
Saya perlu membuat modifikasi sederhana dalam aplikasi (Thunderbird.app) -- mengubah satu baris dalam file .jar. Di komputer Windows lama saya, saya tahu perangkat lunak apa yang harus digunakan. Apa cara termudah di Snow Leopard untuk membuka, memodifikasi, dan menyimpan file .jar di aplikasi? Lebih disukai menggunakan hal-hal yang dibangun ke dalam OS; jika tidak, lalu menggunakan freeware?

jiminaus

16 Desember 2010


Sydney
  • 15 April 2011
File .jar hanyalah file .zip dengan ekstensi yang berbeda (dan beberapa tata letak standar/standar). Anda dapat menggunakan program zip dan unzip standar di /usr/bin untuk mengubah file .jar, dengan asumsi itu tidak ditandatangani.

'Mengubah satu baris dalam file .jar' tidak secara langsung masuk akal dalam konteks file .jar. Jika Anda memberi tahu kami apa yang ingin Anda lakukan dengan file .jar itu, kami mungkin dapat memberi tahu Anda alat/program Mac OS X apa yang dapat Anda gunakan dan bagaimana caranya. M

knalpot

15 Sep 2006
  • 15 April 2011
Diposkan secara nirkabel (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 seperti Mac OS X; sv-se) AppleWebKit/533.17.9 (KHTML, seperti Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5)

Sebenarnya ada tiga fase: ekstraksi, modifikasi, dan perakitan kembali.

Ekstraksinya mudah: klik kanan dan klik unarchieve (afaik).

Modifikasi: jika itu adalah manifes (kelas yang akan dijalankan dan sebagainya) maka itu mudah, namun file java dikompilasi menjadi file .class dan perlu dibongkar sebelum dimodifikasi.

Untuk menyatukan semuanya, google perintah 'jar' untuk terminal.

Jika FOSS lebih baik dan lebih mudah untuk mengkompilasi dari sumber; jika tidak maka saya tidak berpikir itu 100% sah. D

dudleybrooks

poster asli
4 April 2011
San Fransisco
  • 15 April 2011
Saya perlu mengubah baris dalam file .js yang terdapat dalam file .jar. Tetapi jawaban Anda menjelaskan pertanyaan saya:

Saya membuat perubahan ini berkali-kali di bawah Windows (yaitu setiap kali saya mengunduh pemutakhiran, yang, tentu saja, menghapus perubahan saya sebelumnya). Orang yang merekomendasikan perubahan juga merekomendasikan pengarsip (un) yang disebut IZArc, di mana seluruh proses dapat dilakukan dari dalam IZArc -- buka (buka arsip) file .jar, cari file .js, edit baris ... dan kemudian mengklik Keluar akan mengembalikan semuanya ke status arsipnya.

Saya mengerti bahwa saya dapat membatalkan pengarsipan .jar dengan pengarsipan apa pun dan mengedit .js dengan editor teks apa pun. Saya kira kekhawatiran saya adalah, karena bukan seorang programmer, saya mungkin melakukan sesuatu yang berbahaya dalam pengarsipan ulang -- tidak mengarsipkan semua file yang relevan, atau mengarsipkan terlalu banyak file, atau sesuatu.

Jadi pertanyaan saya adalah: Apakah ada pengarsip (semoga di OS) yang akan melakukan semua hal di atas dari dalam dirinya sendiri, sehingga saya tahu bahwa .jar terakhir berisi persis file yang seharusnya dikandungnya? Atau, jika gagal, apa yang harus saya lakukan untuk memastikan bahwa saya telah mengarsipkannya kembali dengan benar? Saya menyadari bahwa di forum ini ini adalah pertanyaan pemula yang lengkap.

bukan justjay

19 September 2003
Kanada, ya?
  • 15 April 2011
Nah, jika file .jar hanyalah file ZIP dengan ekstensi yang berbeda, maka Anda dapat melakukan zip dan unzip secara bebas dari Terminal menggunakan perintah 'zip' dan 'unzip'.

chown33

moderator
Anggota staff
9 Agustus 2009
Pesawat Luar Biasa
  • 15 April 2011
notjustjay berkata: Nah, jika file .jar hanyalah file ZIP dengan ekstensi yang berbeda, maka Anda dapat zip dan unzip secara bebas dari Terminal menggunakan perintah 'zip' dan 'unzip'.

Atau gunakan perintah 'jar', yang ditulis dengan jelas untuk tujuan ini, dan pertahankan urutan yang benar untuk manifes (yang biasanya harus berada sebagai entri pertama, atau paling banyak salah satu dari beberapa entri pertama).

Saya cukup yakin perintah jar diinstal secara default. Ini juga harus terus berlaku pada 10.7 Lion.
Reaksi:abronsdilan

bukan justjay

19 September 2003
Kanada, ya?
  • 15 April 2011
chown33 berkata: Atau gunakan perintah 'jar', yang ditulis dengan jelas untuk tujuan ini, dan pertahankan urutan yang benar untuk manifes (yang biasanya harus berada sebagai entri pertama, atau paling banyak salah satu dari beberapa entri pertama).

Saya cukup yakin perintah jar diinstal secara default. Ini juga harus terus berlaku pada 10.7 Lion.

Ah, bahkan lebih baik. Terima kasih, tidak tahu tentang itu.

kesalahan pilot

12 April 2006
Pulau Panjang
  • 15 April 2011
Atau Anda dapat menggunakan perintah jar. Parameternya sama seperti utilitas zip baris perintah

$jar -xvf jarfile.jar ** Mengekstrak file

**edit file**

$jar -cvf jarfile.jar ** Buat file Jar baru
Reaksi:abronsdilan D

dudleybrooks

poster asli
4 April 2011
San Fransisco
  • 15 April 2011
Terima kasih. Metode PilotError mudah dan berhasil -- tidak ada kesalahan perangkat lunak, kesalahan pemula, atau bahkan kesalahan pilot. Tapi itu masih memiliki lebih banyak langkah daripada yang saya butuhkan di Windows: beralih dari Terminal setelah membatalkan pengarsipan, ke desktop untuk menggunakan editor (salah saya, memang, karena tidak mengetahui editor unix yang saya anggap Terminal memiliki akses ke) , lalu kembali ke Terminal untuk mengarsipkan ulang -- ditambah lebih banyak penekanan tombol yang diperlukan untuk perintah unix. Saya masih ingin menemukan editor yang melakukan *semua* di dalam satu program, seperti yang dilakukan IZArc di Windows: ctrl-open, edit, ctrl-close -- zip-zip (pun intended)!

chown33

moderator
Anggota staff
9 Agustus 2009
Pesawat Luar Biasa
  • 15 April 2011
dudleybrooks berkata: Terima kasih. Metode PilotError mudah dan berhasil -- tidak ada kesalahan perangkat lunak, kesalahan pemula, atau bahkan kesalahan pilot. Tapi itu masih memiliki lebih banyak langkah daripada yang saya butuhkan di Windows: beralih dari Terminal setelah membatalkan pengarsipan, ke desktop untuk menggunakan editor (salah saya, memang, karena tidak mengetahui editor unix yang saya anggap Terminal memiliki akses ke) , lalu kembali ke Terminal untuk mengarsipkan ulang -- ditambah lebih banyak penekanan tombol yang diperlukan untuk perintah unix. Saya masih ingin menemukan editor yang melakukan *semua* di dalam satu program, seperti yang dilakukan IZArc di Windows: ctrl-open, edit, ctrl-close -- zip-zip (pun intended)!

Saya tidak tahu alat apa pun yang melakukan segalanya. Terus terang, ini pertama kalinya saya melihat orang bertanya bagaimana cara mengedit file di dalam toples di Mac OS, jadi saya rasa tidak ada target pasar yang besar.

Anda dapat menempelkan baris perintah ke Terminal, jadi simpan saja perintah ke dalam file teks, lalu salin dan tempel. Tidak perlu mengetik.

Berikut kira-kira apa yang akan saya simpan dalam file teks:
Kode: |_+_| Anda jelas harus mengubah jarfile.jar ke file jar aktual yang Anda miliki.

Saya telah menunjukkan ## karena itu adalah karakter komentar sebenarnya untuk bash.

Saya juga telah menunjukkan perintah 'open -e' dengan nama path yang harus Anda ganti. Open -e akan membuka file bernama di TextEdit.app. Jika Anda memiliki editor lain yang Anda inginkan, Anda dapat memberi tahu 'buka' untuk menggunakannya. Inilah halaman manual untuk perintah 'buka':
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Lihat opsi -a dan -b secara khusus.

Terakhir, Anda dapat meletakkan perintah lain di sana, seperti 'cd someDir' atau apa pun yang Anda inginkan.

Anda mungkin dapat menulis skrip 'sed' untuk melakukan penggantian, jadi Anda tidak perlu mengedit file secara manual sama sekali. Kemudian Anda bisa membuat semuanya menjadi skrip shell, membungkusnya menjadi AppleScript dan menyimpannya sebagai tetesan. Kemudian di masa depan, Anda cukup meletakkan aplikasi asli Anda ke tetesan AppleScript dan itu akan melakukan semua perubahan secara otomatis. Anda harus menulis dan men-debug semua itu, dan mungkin akan memakan waktu berjam-jam lebih lama daripada hanya melakukan salin/tempel ketika aplikasi diperbarui.

Jika perubahan pada toples adalah sesuatu yang harus disediakan vendor, Anda mungkin harus mengajukan laporan bug terhadap aplikasi. Karena perbaikan terbersih adalah tidak harus memperbaiki sendiri sama sekali.

kesalahan pilot

12 April 2006
Pulau Panjang
  • 15 April 2011
Di windows, Anda dapat menggunakan program seperti pkzip atau winzip yang menampilkan konten di jendela dan Anda cukup mengklik dua kali file yang kemudian diekstraksi di bawah tenda dan dikirim ke program terkait (editor).

Ada utilitas zip di bawah OS X, tetapi harus diakui, saya tidak menggunakan OS X seperti saya menggunakan windows. Saya yakin Anda dapat melacak salah satu program yang memungkinkan Anda melakukan hal yang sama, tetapi untuk apa yang diperlukan di sini, tidak ada gunanya mencarinya. D

dudleybrooks

poster asli
4 April 2011
San Fransisco
  • 16 April 2011
PilotError dan Chown33: Saya yakin Anda benar tentang kurangnya pasar di OS X.

Chown33: Terima kasih atas saran tentang otomatisasi dan detail yang terlibat. Saya akan mencoba mereka. OMG, saya mungkin menjadi seorang programmer!

Ini adalah sesuatu yang * saya * pikir harus diperbaiki, tetapi ini bukan bug: Thunderbird memiliki fasilitas Pencarian Lanjutan untuk alamat email, yang mungkin mengembalikan beberapa alamat. Jika Anda mengklik Tulis, itu menempatkan semuanya ke dalam bidang 'Kepada' (tanpa opsi lain). Perubahan membuatnya menempatkan mereka ke dalam bidang 'BCC', untuk netiket yang lebih baik. TB 1.x dulu memiliki opsi ini, tetapi hilang di 2.x. P

peregin55

25 Februari 2008
  • 8 Mei 2011
Emacs akan melakukan apa yang Anda inginkan

Di Linux dan Mac OS X saya menggunakan emacs untuk mengedit file di dalam toples. Ketik saja:

emacs somejar.jar

Anda kemudian dapat menelusuri semua file di toples, membuka, menyimpan, apa pun menggunakan perintah emacs standar. Setiap perubahan yang Anda buat akan secara otomatis diterapkan ke toples (tidak perlu membuka apa pun secara manual)
Reaksi:abronsdilan D

dudleybrooks

poster asli
4 April 2011
San Fransisco
  • 8 Mei 2011
Terima kasih!

peregin55

Senang mendengarnya.

-
Dudley B

bencana besar

14 Januari 2010
  • 8 Juni 2012
argh. itu tidak bekerja. Saya perlu mengganti beberapa string di file .class (saya menggunakan jumlah simbol yang sama persis), kemudian saya mencoba mengemasnya kembali dengan perintah jar, tetapi file yang dihasilkan beberapa byte lebih kecil dari yang awal, dan ketika saya coba instal di ponsel saya katanya 'format jar salah'.
Ada ide?

TopHatProduksi115

22 Agustus 2016
  • 10 November 2016
pilotError berkata: Atau Anda dapat menggunakan perintah jar. Parameternya sama seperti utilitas zip baris perintah

$jar -xvf jarfile.jar ** Mengekstrak file

**edit file**

$jar -cvf jarfile.jar ** Buat file Jar baru


Apakah ini akan berfungsi untuk arsip Java yang ditandatangani?

michaelwarne

11 November 2016
  • 11 November 2016
Anda dapat menggunakan editor vim untuk mengedit file dalam file teks terkompresi apa pun.
  1. Arahkan ke lokasi file dari terminal.
  2. Ketik nama vim.jar
  3. Pilih file yang ingin Anda ubah dan tekan Enter
  4. Edit file dan tekan Esc dan :wq! untuk menyimpan dan berhenti.
Semoga ini membantu.

okieam

17 Desember 2016
  • 18 Desember 2016
ya saya juga, saya dulu menggunakan 7zip untuk mengedit classpath di file jar di Windows J

jtara

23 April 2009
  • 21 Desember 2016
Jika Anda perlu memodifikasi thunderbird.app, gunakan sumbernya, buat perubahan Anda, dan bangun.

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

Clover

13 November 2018
  • 13 November 2018
michaelwarne berkata: Anda dapat menggunakan editor vim untuk mengedit file dalam file teks terkompresi apa pun.
  1. Arahkan ke lokasi file dari terminal.
  2. Ketik nama vim.jar
  3. Pilih file yang ingin Anda ubah dan tekan Enter
  4. Edit file dan tekan Esc dan :wq! untuk menyimpan dan berhenti.
Semoga ini membantu.
tidak bisakah kita mengotomatiskan ini menggunakan bash? itu akan sangat membantu jika Anda mencerahkan melalui itu.
Reaksi:abronsdilan