Konversi jar ke java

Konversi JAR menjadi JAVA

Ekstrak source yang disematkan atau decompile class JAR menjadi file source Java yang dapat digunakan.

Konversi file JAR secara online

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

Bagaimana mengkonversi jar ke java berkas

Source files diperlukan ketika JAR adalah satu-satunya salinan library atau aplikasi Java yang tersedia dan kodenya harus diperiksa, diaudit, dimodifikasi, atau dibangun ulang. Sebagian besar JAR rilis berisi file .class yang telah dikompilasi, sehingga pemulihan file .java biasanya memerlukan dekompilasi, bukan konversi file secara langsung.

Isi file JAR

JAR (Java Archive) adalah archive berbasis ZIP yang digunakan oleh developer Java, build tools, dan vendor aplikasi untuk mendistribusikan library, plugin, dan aplikasi. JAR biasanya berisi compiled classes, resources, metadata dependency, dan META-INF/MANIFEST.MF; executable JAR dapat mendeklarasikan startup class di dalam manifest tersebut.

JDK tools, Maven, Gradle, Eclipse, dan IntelliJ IDEA dapat membuat atau menggunakan JAR. Archive terpisah bernama name-sources.jar sering kali berisi source files asli dan sebaiknya digunakan daripada melakukan dekompilasi pada compiled JAR.

Apa itu file JAVA

Tidak ada format biner “JAVA” yang terpisah. File .java adalah source code Java plain-text yang berisi classes, interfaces, methods, package declarations, dan imports. File ini dapat diedit dan dikompilasi dengan javac, dengan syarat library yang diperlukan dan Java release level yang sesuai tersedia.

Satu JAR biasanya menghasilkan banyak source files. Foldernya harus sesuai dengan nama package: com.example.Main berada di com/example/Main.java. Java mengharuskan top-level class public menggunakan filename yang sama dengan nama class tersebut.

Ekstrak source yang sudah ada terlebih dahulu

Daftar isi archive dengan perintah JDK jar:

jar tf app.jar

Jika daftar tersebut berisi file .java, ekstrak file-file itu ke empty working directory:

mkdir recovered-src
cd recovered-src
jar xf ../app.jar

Jika source archive yang sesuai tersedia, ekstrak archive tersebut sebagai gantinya:

jar xf app-sources.jar

Jangan mengira resources seperti .properties, file XML, images, atau service definitions sebagai Java source. Ekstrak resources tersebut jika diperlukan oleh project, tetapi resources itu tidak dapat dikonversi menjadi kode .java yang bermakna.

Dekompilasi compiled classes

Jika JAR hanya berisi file .class, gunakan Java decompiler desktop. CFR adalah opsi command-line yang sesuai dan umumnya menangani Java bytecode yang lebih baru dengan lebih baik daripada banyak decompiler lama. Download CFR dari official project site, lalu jalankan:

java -jar cfr.jar app.jar --outputdir recovered-src

CFR menulis file .java yang dipulihkan di dalam recovered-src. Untuk opsi graphical, buka JAR di JD-GUI dan pilih File → Save All Sources; JD-GUI membuat ZIP archive yang harus diekstrak sebelum file-file tersebut dibuka di IDE.

IntelliJ IDEA dapat menampilkan compiled classes untuk inspeksi, tetapi CFR atau JD-GUI lebih disarankan jika diperlukan source tree yang dapat diekspor. Untuk sample kecil, public, dan tidak sensitif, browser services seperti Decompiler.com dapat melakukan dekompilasi JAR tanpa instalasi lokal; periksa ketentuan penyimpanan dan privasinya sebelum mengunggah apa pun.

Batasan kompilasi dan pemulihan

Decompiled output bukan source project asli. Bytecode tidak mempertahankan comments, formatting, sebagian besar local variable names, test sources, build scripts, version-control history, dan sebagian generic type information. Obfuscation dapat mengganti nama yang bermakna dengan identifier seperti a dan b.

File yang dipulihkan mungkin tidak langsung dapat dikompilasi. Tambahkan original dependencies dari JAR, generated code, annotation processors, resources, dan compiler options; kemudian kompilasikan untuk Java release yang digunakan oleh class asli. Versi class-file yang lebih baru mungkin memerlukan JDK yang lebih baru dan decompiler yang mendukung versi tersebut.

Multi-release JAR dapat berisi alternate class implementations di bawah META-INF/versions/, dan shaded JAR dapat menggabungkan dependencies bersama application code. Tinjau package structure dan manifest sebelum menganggap setiap class yang dipulihkan sebagai bagian dari satu source project.

Simpan JAR yang bersifat private, milik customer, berlisensi, atau sensitif terhadap keamanan di mesin lokal, bukan mengunggahnya ke online decompiler. Lakukan dekompilasi hanya pada software yang Anda miliki atau yang Anda berwenang untuk inspeksi; kode yang dipulihkan tetap tunduk pada ketentuan license dan copyright aslinya.

Sederhananya, tidak mungkin mengonversi JAR ke JAVA secara langsung.
Jadi, tidak ada yang disebut pengonversi jar ke java atau pengonversi online gratis. jar ke .java converter dapat ditemukan.

JAR vs JAVA: perbandingan format

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

Perbandingan format file JAR dan JAVA
Properti .JAR Java Archive .JAVA Java source code file
Standar terbuka Ya Sebagian terbuka
Kompresi Keduanya Tanpa kompresi
Ukuran file umum Sedang Kecil
Terbuka di browser web Tidak Tidak
Pengeditan lanjutan Terbatas Mudah
Dukungan metadata Dasar Dasar
Dapat dibaca teks biasa Tidak Ya
Paling cocok untuk Penyematan dalam aplikasi Produksi profesional
Diperkenalkan 1996 1995
Pengembang Oracle (originally Sun Microsystems) Oracle (Java platform; originally Sun Microsystems)
Tipe MIME application/java-archive text/x-java-source

Konversi berkas jar lainnya

Konversi terbalik

Konversi ke java
dari format lain

Bagikan di media sosial: