Perbedaan Antara Kemasan JAR dan WAR

1. Ikhtisar

Dalam tutorial singkat ini, kita akan fokus pada perbedaan antara kemasan JAR dan WAR di Java.

Pertama, kami akan menentukan setiap opsi pengemasan secara terpisah. Setelah itu, kami akan merangkum perbedaannya.

2. Kemasan JAR

Sederhananya, JAR - atau Java Archive - adalah format file paket. File JAR memiliki ekstensi .jar dan mungkin berisi library, resource, dan file metadata.

Pada dasarnya, ini adalah file zip yang berisi versi terkompresi dari file .class dan resource dari library dan aplikasi Java yang dikompilasi.

Misalnya, berikut adalah struktur file JAR sederhana:

META-INF/ MANIFEST.MF com/ baeldung/ MyApplication.class 

File META-INF / MANIFEST.MF mungkin berisi metadata tambahan tentang file yang disimpan dalam arsip.

Kita dapat membuat file JAR menggunakan perintah jar atau dengan alat seperti Maven.

3. Kemasan WAR

WAR adalah singkatan dari Web Application Archive atau Web Application Resource. File arsip ini memiliki ekstensi .war dan digunakan untuk mengemas aplikasi web yang dapat kami terapkan pada wadah Servlet / JSP apa pun.

Berikut adalah contoh tata letak struktur file WAR yang khas:

META-INF/ MANIFEST.MF WEB-INF/ web.xml jsp/ helloWorld.jsp classes/ static/ templates/ application.properties lib/ // *.jar files as libs

Di dalamnya, ia memiliki direktori META-INF yang menyimpan informasi berguna di MANIFEST.MF tentang arsip web. Direktori META-INF bersifat pribadi dan tidak dapat diakses dari luar.

Di sisi lain, ini juga berisi direktori publik WEB-INF dengan semua sumber daya web statis, termasuk halaman HTML, gambar, dan file JS. Selain itu, ini berisi file web.xml , kelas servlet, dan perpustakaan.

Kita dapat menggunakan alat dan perintah yang sama dengan yang kita gunakan untuk membuat JAR untuk membuat arsip .war .

4. Perbedaan Utama

Jadi, apa perbedaan utama antara kedua jenis arsip ini?

Perbedaan pertama dan paling jelas adalah ekstensi file . JAR memiliki ekstensi .jar , sedangkan file WAR memiliki ekstensi .war .

Perbedaan utama kedua adalah tujuan dan cara fungsinya . File JAR memungkinkan kita untuk mengemas banyak file untuk digunakan sebagai perpustakaan, plugin, atau aplikasi apa pun. Di sisi lain, file WAR hanya digunakan untuk aplikasi web.

Struktur arsipnya juga berbeda. Kami dapat membuat JAR dengan struktur yang diinginkan. Sebaliknya, WAR memiliki struktur standar dengan direktori WEB-INF dan META-INF .

Terakhir, kita dapat menjalankan JAR dari baris perintah jika kita membangunnya sebagai JAR yang dapat dieksekusi tanpa menggunakan perangkat lunak tambahan. Atau, kita bisa menggunakannya sebagai perpustakaan. Sebaliknya, kita membutuhkan server untuk menjalankan WAR .

5. Kesimpulan

Dalam artikel singkat ini, kami membandingkan jenis pengemasan Java .jar dan .war . Saat melakukannya, kami juga mencatat bahwa meskipun keduanya menggunakan format file ZIP yang sama, ada beberapa perbedaan penting.