Apa perbedaan antara file .war dan .ear?
Apa perbedaan antara file .war dan .ear?
Jawaban:
Dari GeekInterview :
Dalam aplikasi J2EE, modul dikemas sebagai EAR, JAR, dan WAR berdasarkan fungsinya
JAR: Modul EJB yang berisi kacang java perusahaan (file kelas) dan deskriptor penerapan EJB dikemas sebagai file JAR dengan ekstensi .jar
PERANG: Modul web yang berisi file kelas Servlet, File JSP, file pendukung, file GIF dan HTML dikemas sebagai file JAR dengan ekstensi .war (arsip web)
EAR: Semua file di atas (.jar dan .war) dipaket sebagai file JAR dengan ekstensi .ear (arsip perusahaan) dan digunakan untuk Server Aplikasi.
Sebuah WAR (Web Archive) adalah modul yang akan dimuat ke dalam wadah Web dari Application Server Java . Java Application Server memiliki dua wadah (lingkungan runtime) - satu adalah wadah Web dan yang lainnya adalah wadah EJB.
The wadah Web aplikasi host Web berdasarkan JSP atau Servlets API - dirancang khusus untuk permintaan web penanganan - sehingga lebih dari gaya permintaan / tanggapan dari komputasi terdistribusi . Wadah Web memerlukan modul Web untuk dikemas sebagai file PERANG - yaitu file JAR khusus dengan web.xml
file dalam WEB-INF
folder.
Sebuah wadah EJB menjadi tuan rumah kacang java Perusahaan berdasarkan API EJB yang dirancang untuk menyediakan fungsionalitas bisnis yang diperluas seperti transaksi deklaratif, keamanan tingkat metode deklaratif, dan dukungan multi-cokelat - sehingga lebih merupakan gaya komputasi distribusi terdistribusi RPC . Wadah EJB membutuhkan modul EJB untuk dikemas sebagai file JAR - ini memiliki ejb-jar.xml
file dalam META-INF
folder.
Aplikasi Enterprise dapat terdiri dari satu atau lebih modul yang dapat berupa modul Web (dikemas sebagai file WAR), modul EJB (dikemas sebagai file JAR), atau keduanya. Aplikasi perusahaan dikemas sebagai file EAR - ini adalah file JAR khusus yang berisi application.xml
file dalam META-INF
folder.
Pada dasarnya, file EAR adalah superset yang berisi file WAR dan file JAR . Server Aplikasi Java memungkinkan penyebaran modul web mandiri dalam file WAR, meskipun secara internal, mereka membuat file EAR sebagai pembungkus di sekitar file WAR. Wadah web mandiri seperti Tomcat dan Jetty tidak mendukung file EAR - ini bukan server Aplikasi lengkap. Aplikasi web dalam wadah ini harus digunakan sebagai file WAR saja.
Di server aplikasi, file EAR berisi konfigurasi seperti pemetaan peran keamanan aplikasi, pemetaan referensi EJB dan pemetaan URL root konteks modul web.
Terlepas dari modul Web dan modul EJB, file EAR juga dapat berisi modul konektor yang dikemas sebagai file RAR dan modul Klien yang dikemas sebagai file JAR.
.jar
, .war
dan .ear
file arsip zip sederhana, sehingga dapat dibuka oleh program yang dapat menangani file .zip biasa.
perang - arsip web. Ini digunakan untuk menyebarkan aplikasi web sesuai dengan standar servlet. Ini adalah file jar yang berisi direktori khusus yang disebut WEB-INF dan beberapa file dan direktori di dalamnya (web.xml, lib, kelas) serta semua HTML, JSP, gambar, CSS, JavaScript, dan sumber daya lain dari aplikasi web
arsip perusahaan telinga. Ini digunakan untuk menyebarkan aplikasi perusahaan yang berisi EJB, aplikasi web, dan perpustakaan pihak ketiga. Ini juga merupakan file jar, ia memiliki direktori khusus bernama APP-INF yang berisi file application.xml, dan berisi file jar dan perang.
File PERANG (arsip web) berisi file kelas servlet, JSP (halaman servlet Java), file HTML dan grafik, dan file pendukung lainnya.
File EAR (arsip perusahaan) berisi file PERANG bersama dengan file JAR yang berisi kode.
Mungkin ada hal-hal lain dalam file-file itu tetapi pada dasarnya dimaksudkan untuk apa yang terdengar seperti artinya: PERANG untuk hal-hal jenis web, EAR untuk hal-hal tipe perusahaan (PERANG, kode, konektor dkk).
File JAR
File JAR (kependekan dari Java Archive) memungkinkan kombinasi beberapa file menjadi satu. File dengan '.jar'; ekstensi digunakan oleh pengembang perangkat lunak untuk mendistribusikan kelas Java dan berbagai metadata. Ini juga menyimpan perpustakaan dan file sumber daya, serta file aksesori (seperti file properti).
Pengguna dapat mengekstrak dan membuat file JAR dengan perintah '.jar' Java Development Kit (JDK). Alat ZIP juga dapat digunakan.
File JAR memiliki file manifes opsional. Entri dalam file manifes menentukan penggunaan file JAR. Spesifikasi kelas 'utama' untuk kelas file menunjukkan file sebagai program yang terpisah atau 'berdiri sendiri'.
File PERANG
File PERANG (atau arsip Aplikasi Web) dapat terdiri dari file XML (bahasa Markup extensible), kelas Java, serta halaman Server Java untuk keperluan aplikasi Internet. Ini juga digunakan untuk menandai perpustakaan dan halaman Web yang membentuk aplikasi Web. File dengan ekstensi '.war' berisi aplikasi Web untuk digunakan dengan kontainer server atau JSP (Java Server Page). Ini memiliki JSP, HTML (Hypertext Markup Language), JavaScript, dan berbagai file untuk membuat aplikasi Web yang disebutkan di atas.
File PERANG disusun sedemikian rupa untuk memungkinkan direktori dan file khusus. Mungkin juga memiliki tanda tangan digital (seperti halnya file JAR) untuk menunjukkan kebenaran kode.
File EAR
File EAR (Enterprise Archive) menggabungkan file JAR dan WAR menjadi satu arsip. File-file ini dengan ekstensi '.ear' memiliki direktori untuk metadata. Modul-modul tersebut dikemas dalam arsip untuk operasi yang lancar dan simultan dari berbagai modul dalam server aplikasi.
File EAR juga memiliki deskriptor penyebaran (yang merupakan file XML) yang secara efektif menentukan penyebaran modul yang berbeda.
Rujuk: http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html
tar (tape archives) - Format yang digunakan adalah file yang ditulis dalam unit serial fileName, fileSize, fileData - tanpa kompresi. bisa sangat besar
Jar (arsip java) - teknik kompresi yang digunakan - umumnya berisi informasi java seperti file kelas / java. Tetapi dapat berisi file dan struktur direktori
war (arsip aplikasi web) - mirip seperti file jar hanya memiliki struktur direktori spesifik sesuai spesifikasi JSP / Servlet untuk tujuan penerapan
telinga (arsip perusahaan) - mirip seperti file jar. memiliki struktur direktori yang mengikuti persyaratan J2EE sehingga dapat digunakan pada server aplikasi J2EE. - Dapat berisi beberapa file JAR dan WAR
File telinga menyediakan lebih banyak opsi untuk mengkonfigurasi interaksi dengan server aplikasi.
Misalnya: jika versi hibernate dari server aplikasi lebih lama dari yang disediakan oleh dependensi Anda, Anda dapat menambahkan berikut ini ke ear-deployer-jboss-beans.xml untuk JBOSS untuk mengisolasi classloader dan menghindari konflik:
<bean name="EARClassLoaderDeployer" class="org.jboss.deployment.EarClassLoaderDeployer">
<property name="isolated">true</property>
</bean>
atau ke src / main / application / META-INF / jboss-app.xml:
<?xml version="1.0"?>
<jboss-app>
<loader-repository>
loader=nameofyourear.ear
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</jboss-app>
Ini akan memastikan bahwa tidak ada konflik classloader antara aplikasi Anda dan server aplikasi.
Biasanya mekanisme classloader bekerja seperti ini:
Ketika permintaan pemuatan kelas disajikan ke pemuat kelas, ia terlebih dahulu meminta pemuat kelas induknya untuk memenuhi permintaan. Orang tua, pada gilirannya, meminta induknya untuk kelas sampai permintaan mencapai puncak hierarki. Jika pemuat kelas di bagian atas hierarki tidak dapat memenuhi permintaan, maka pemuat kelas anak yang memanggilnya bertanggung jawab untuk memuat kelas.
Dengan mengisolasikan classloader, ear classloader Anda tidak akan terlihat pada induknya (= JBoss / classloader AS lainnya). Sejauh yang saya tahu, ini tidak mungkin dengan file perang.
J2EE mendefinisikan tiga jenis arsip:
Java Archives (JAR) File JAR merangkum satu atau lebih kelas Java, manifes, dan deskriptor. File JAR adalah tingkat arsip terendah. File JAR digunakan dalam J2EE untuk mengemas EJB dan Aplikasi Java sisi klien.
Arsip Web (PERANG) File PERANG mirip dengan file JAR, kecuali bahwa itu khusus untuk aplikasi web yang terbuat dari Servlet, JSP, dan kelas pendukung.
Enterprise Archives (EAR) ”File EAR berisi semua komponen yang membentuk aplikasi J2EE tertentu.
Untuk membuat transportasi proyek, penyebaran menjadi mudah. perlu dikompresi menjadi satu file. Kelompok file JAR (arsip java) .class
PERANG (arsip web) - setiap perang mewakili satu aplikasi web - hanya menggunakan teknologi terkait web seperti servlet, jsps dapat digunakan. - dapat berjalan di server Tomcat - aplikasi web yang dikembangkan oleh teknologi terkait web hanya jsp servlet html js - representasi info hanya tanpa transaksi.
EAR (arsip perusahaan) - masing-masing telinga mewakili satu aplikasi perusahaan - kita bisa menggunakan apa saja dari j2ee seperti ejb, jms bisa digunakan dengan senang hati. - dapat berjalan di Glassfish seperti server tidak di server Tomcat. - Aplikasi perusahaan yang dikembangkan oleh teknologi apa pun dari j2ee seperti semua aplikasi web plus ejbs jms dll. - Melakukan transaksi dengan representasi info. misalnya. Aplikasi bank, aplikasi Telecom
.JAR, .WAR and .EAR
Anda, Anda juga dapat melihat tutorial video. Ini sangat sederhana atau lebih mudah dimengerti. Ini akan menjelaskan apa perbedaan antara .JAR, .WAR, dan .EAR Video Tutorial : Perbedaan Antara .JAR, .WAR, dan .EAR