Konversi zip ke jar

Konversi ZIP menjadi JAR

Kemas ulang ZIP menjadi JAR, tambahkan metadata Java, dan uji executable archives.

Konversi file ZIP secara online

Kami belum punya konverter online khusus untuk ZIP ke JAR, tetapi Anda bisa mengonversi file ZIP secara online ke format berikut:

Bagaimana mengkonversi zip ke jar berkas

Runtime Java, mod loader, atau sistem plugin mungkin memerlukan file .jar, bukan arsip .zip. Karena JAR menggunakan kontainer ZIP, pengemasan ulang sederhana biasanya tidak menyebabkan kehilangan data, tetapi JAR yang dapat dieksekusi juga memerlukan class yang telah dikompilasi dan manifest yang valid.

Apa itu format ZIP

ZIP adalah arsip terkompresi serbaguna untuk menggabungkan file dan folder untuk keperluan download, berbagi, pencadangan, dan penyimpanan. Windows File Explorer, macOS Archive Utility, pengelola arsip Linux, 7-Zip, WinZip, dan alat pengembangan dapat membuat file ZIP. ZIP dapat berisi source code, dokumen, gambar, class yang telah dikompilasi, library, atau arsip lain, tetapi tidak memerlukan metadata atau struktur direktori khusus Java.

Apa itu format JAR

JAR, atau Java Archive, adalah arsip berbasis ZIP untuk class Java, resource, library, dan aplikasi. JAR dapat berisi META-INF/MANIFEST.MF, direktori package, file tanda tangan digital, dan konten Java multi-release. JAR yang dapat dieksekusi memerlukan entri manifest seperti Main-Class: com.example.Main, sehingga dapat dijalankan dengan java -jar. Alat Java, sistem build, application server, mod loader, dan sistem plugin mungkin memerlukan ekstensi .jar meskipun file di dalamnya kompatibel dengan ZIP.

Cara membuat JAR yang tidak dapat dieksekusi

  1. Instal JDK untuk perintah jar, atau instal utilitas arsip desktop seperti 7-Zip.
  2. Ekstrak ZIP ke direktori sementara. Jangan masukkan ZIP asli ke dalam arsip baru.
  3. Periksa tata letak hasil ekstraksi. Jika ZIP berisi satu direktori tingkat atas yang tidak diperlukan, gunakan hanya isi direktori tersebut ketika software penerima mengharapkan file berada di root JAR.
  4. Buka terminal di direktori induk folder hasil ekstraksi, lalu jalankan jar --create --file output.jar -C extracted-folder .. Pada rilis JDK yang lebih lama, gunakan jar cf output.jar -C extracted-folder ..
  5. Periksa hasilnya dengan jar --list --file output.jar dan pastikan path package serta resource muncul di lokasi yang diharapkan aplikasi.

Dengan 7-Zip, pilih Extract to <folder>, buka folder hasil ekstraksi, pilih isinya, lalu pilih 7-Zip → Add to archive. Pilih ZIP sebagai format arsip, lalu ganti nama hasilnya dari output.zip menjadi output.jar hanya jika software target memerlukan ekstensi JAR. Ini menghasilkan JAR yang kompatibel dengan ZIP, tetapi tidak membuatnya dapat dieksekusi atau menambahkan metadata Java.

Cara membuat JAR yang dapat dieksekusi

  1. Kompilasi file source Java dengan JDK. File source seperti Main.java tidak menjadi dapat dieksekusi hanya karena ditempatkan di dalam JAR.
  2. Pertahankan path package: class yang dideklarasikan sebagai package com.example; harus berada di com/example/Main.class.
  3. Buat MANIFEST.MF teks biasa yang berisi Main-Class: com.example.Main dan diikuti baris baru terakhir. Nilainya harus mencantumkan nama class, bukan nama file source, serta tidak boleh menyertakan .class.
  4. Build arsip dengan jar --create --file app.jar --manifest MANIFEST.MF -C extracted-folder .. Dengan versi JDK yang lebih baru, jar --create --file app.jar --main-class com.example.Main -C extracted-folder . dapat menetapkan entri tersebut tanpa file manifest terpisah.
  5. Uji dengan java -jar app.jar. Class yang hilang, path package yang salah, manifest yang formatnya tidak valid, dependency yang tidak tersedia, atau nama main-class yang salah akan mencegah eksekusi.

Untuk project Maven atau Gradle, gunakan build project tersebut, bukan mengemas ulang ZIP sembarang: mvn package atau gradle build dapat mengompilasi class dan membuat manifest yang diperlukan. JAR biasa tidak secara otomatis berisi dependency eksternal; gunakan konfigurasi assembly atau shading yang didukung project ketika JAR mandiri diperlukan.

Alat online dan desktop

Utilitas JDK jar adalah pilihan yang paling andal karena mempertahankan konvensi arsip Java dan mendukung manifest. 7-Zip sesuai untuk pengemasan ulang dan pemeriksaan yang tidak memerlukan eksekusi. Untuk konversi yang hanya menggunakan browser, layanan arsip seperti online converter dari Aspose mungkin dapat digunakan untuk file yang tidak bersifat rahasia, tetapi pastikan daftar formatnya saat ini secara eksplisit menawarkan output JAR. Jangan upload source code, library proprietari, kunci penandatanganan, kredensial, atau konten arsip sensitif lainnya.

Keterbatasan kompatibilitas

Mengganti nama ZIP tidak akan mengompilasi code Java, membuat manifest, mengubah path package, atau menambahkan dependency. Pembangunan ulang biasanya mempertahankan isi file tanpa kehilangan kualitas, meskipun pengaturan kompresi, timestamp, permission, enkripsi, dan metadata arsip dapat berubah. Enkripsi ZIP bukan persyaratan standar untuk file JAR, dan input terenkripsi mungkin tidak dapat dipertahankan melalui pembangunan ulang berbasis JDK.

Mengemas ulang JAR yang ditandatangani akan membatalkan tanda tangannya karena isi arsip dan metadata tanda tangan tidak lagi cocok. Pertahankan struktur direktori asli, periksa arsip setelah dibuat, dan uji dengan versi Java serta software penerima yang sama persis dengan yang akan menggunakannya.

ZIP vs JAR: perbandingan format

Bagaimana format ZIP dan JAR dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file ZIP dan JAR
Properti .ZIP ZIP archive .JAR Java Archive
Kompresi Keduanya Keduanya
Rasio kompresi Sedang Sedang
Enkripsi Ya Ya
Arsip terpisah Ya Tidak
Catatan pemulihan Tidak Tidak
Dukungan sistem operasi Luas Luas
Ukuran file umum Sedang Sedang
Standar terbuka Ya Ya
Diperkenalkan 1989 1996
Pengembang Phil Katz / PKWARE Oracle (originally Sun Microsystems)
Tipe MIME application/zip application/java-archive