Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Ear , Jar and War dosyalarının temel farkları nedir?

Açık 2 Cevaplar 146 Gösterim Genel Kavramlar
Ear , Jar and War dosyaları ne işe yarar? Temel farkları nedir bunların?

Hangi durumda war, hangi durumda jar veya ear tercih ediliyor?

2 Cevap

0
Jar dosyası standart Java dosyalarını ve onlarla ilgili property, metadata vs gibi bilgileri içerir.

WAR dosyası bunlara ilave olarak servlet, jsp, html, javascript vs gibi web uygulamaları için gerekli dosyaları içerir.

EAR dosyası da Java EE arşiv dosyasıdır. Bir sunucuya yüklenmek üzere bir veya daha fazla modül içerebilir.
(284 puan)
yeniden gösterildi
2Yorumlar
(1.9k puan)
düzenledi
Selam Sinan :)

EAR  sunucuya yüklenebiliyor diğerleri yüklenmiyor mu demektir bu. Bir de bir ya da daha fazla modül içerir derken ne gibi mesela somut örnek .

Ek olarak JAR dosyalarının içine embeded tomcat dahil edilebiliyor spring boot kullanarak, ve tek bir jar ile herhangi bir serverın altına atmadan bir şeyler yapılabiliyor diye biliyorum.  Bundan ötürü bir web uygulaması için gerekli tüm dosyaları içermiş olmuyor mu ve WAR dan bir tık üste geçmiş olmuyor mu?

Ben ne zaman JAR, ne zaman WAR veya EAR tercih etmeliyim. Neye göre karar veriliyor?
(284 puan)
Haklısın. Müsait bir zamanda daha derli toplu bir şekilde yazacağım.
0

İki açıdan inceleyebiliriz.
1- Dosya yapısı açısından: Sanıyorum ki üçünün bir farkı yok. Hepsi de sıkıştırılmış birer dosya oluyorlar. Hatta denemek için elindeki jar-war-ear dosyalarını 7zip ya da winzip ile açıp içine bakabilirsin. Dİğer bir yöntem .class dosyalarını zipleyip uzantısını jar yapıp sonra classpath'e ekleyip çalıştırabilirsin.
2- Mantıksal yapı açısından: Bu dosyaları farklı uygulamalar farklı değerlendirir. Mesela tomcat uzantısı war olan dosyayı alıp açar ve bir klasor altına atar, sonra kullanmaya başlar. Ama jar dosyasının içindeki dosyaları açmaya kalmaz direk okur. Buradan şu çıktıya gelebilirsin; mantıksal olarak dosya isimlerinin uzun hallerine bak. ,

  •  Jar - Java Archive : herhangi bir müdahaleye gerek kalmadan java direk kullanabilir.
  • War - Web Application Archive: Bir web sunucusu tarafından okunabilen dosyalar. (tomcat, WAS, wildfly vb.) içinde jar'lar bulundurabilir.
  • Ear - Enterprise Archive : Bir application server tarafından okunabilen dosyalar. (WAS, Wildfly vb) İçinde war ve jar dosyaları bulunabilir.
(4k puan)