A .jar
ve bir .war
dosya arasındaki fark nedir ?
Sadece dosya uzantısı mı yoksa daha fazlası var mı?
A .jar
ve bir .war
dosya arasındaki fark nedir ?
Sadece dosya uzantısı mı yoksa daha fazlası var mı?
Yanıtlar:
Gönderen Java İpuçları: kulak kavanoz ve savaş dosyaları arasındaki fark :
Bu dosyalar, java jar aracı kullanılarak sıkıştırılmış dosyalardır. Bu dosyalar farklı amaçlar için oluşturulur. İşte bu dosyaların açıklaması:
.jar dosyaları: .jar dosyaları , özellik dosyaları gibi kitaplıklar, kaynaklar ve aksesuar dosyaları içerir.
.war dosyaları: Savaş dosyası , herhangi bir sunucu uygulaması / jsp kapsayıcısında dağıtılabilen web uygulamasını içerir . .War dosyası jsp, html, javascript ve web uygulamalarının geliştirilmesi için gerekli diğer dosyaları içerir.
Resmi Sun / Oracle açıklamaları:
Wikipedia makaleleri:
Bir .war
dosyanın , belirli dosyaların nerede olacağı konusunda belirli bir yapısı vardır. Bunun dışında, evet, sadece bir .jar
.
Bir J2EE uygulamasına, Java sınıfı kitaplıkları için kullanılan pakete benzer bir JAR olan web uygulaması arşivi (WAR) adı verilen bir pakette web bileşenleri eklersiniz. WAR genellikle web bileşenlerinin yanı sıra aşağıdakiler de dahil olmak üzere başka kaynaklar içerir:
- Sunucu tarafı yardımcı sınıflar (veritabanı çekirdekleri, alışveriş sepetleri vb.).
- Statik web kaynakları (HTML, resim ve ses dosyaları vb.)
- İstemci tarafı sınıfları (küçük uygulamalar ve yardımcı program sınıfları)
Bir WAR belirli bir hiyerarşik dizin yapısına sahiptir. WAR dosyasının en üst düzey dizini, uygulamanın belge köküdür. Belge kökü, JSP sayfalarının, istemci tarafı sınıfların ve arşivlerin ve statik web kaynaklarının depolandığı yerdir.
( kaynak )
Yani .war bir .jar'dır, ancak web uygulama bileşenleri içerir ve belirli bir yapıya göre düzenlenir. Bir .war, Tomcat veya Jetty gibi bir web uygulama sunucusuna veya JBoss veya Glassfish gibi bir Java EE sunucusuna dağıtılacak şekilde tasarlanmıştır.
Bir .war
dosya bir süre bir uygulama sunucusu içinde çalışan bir Web Uygulama Arşiv .jar
bir kullanıcının makinesinde bir masaüstü uygulaması çalışan Java Uygulaması Arşiv.
Savaş dosyası, bir web uygulamasını bir uygulama sunucusunda konuşlandırmayı kolaylaştırmak için paketlemek için kullanılan özel bir jar dosyasıdır. Savaş dosyasının içeriği tanımlanmış bir yapıya uymalıdır.
.jar ve .war dosyaları sıkıştırılmış arşivlenmiş dosyalardır. Her ikisi de, sürüm oluşturma gibi bilgilendirici bilgiler içeren isteğe bağlı META-INF / MANIFEST.MF bildirim dosyasına ve onu çalıştıracak JVM için sınıfyolu ve ana sınıf gibi eğitici özelliklere sahip olabilir.
.war dosyası - 'Servlet Kabı' içinde yürütülmesi amaçlanan Web Uygulaması Arşivi ve diğer jar dosyalarını (WEB-INF / lib dizininde) derlenmiş sınıfları (WEB-INF / sınıflarında (sunucu uygulaması da oraya gider) içerebilir) .jsp bağımsız bir modül oluşturmak için var olan tüm WAR içeriği.
Savaş -
Java tabanlı web uygulamalarını dağıtabilir. WAR, içinde paketlenmiş birden fazla dosya içeren tek bir sıkıştırılmış dosya olan JAR dosyasıyla aynı dosya yapısına sahiptir.
Kavanoz -
.Jar dosyaları kitaplıklar, kaynaklar ve özellik dosyaları gibi aksesuar dosyaları içerir.
WAR dosyaları JSP'leri, sunucu uygulamalarını, Java sınıfı dosyalarını, XML dosyalarını, javascript kitaplıklarını, JAR kitaplıklarını, statik web sayfalarını ve uygulamayı çalıştırmak için gereken diğer kaynakları birleştirmek için kullanılır.
JAR dosyaları, bir kütüphane, eklenti veya herhangi bir uygulama olarak kullanmak için birden fazla dosyanın paketlenmesine izin verir. Öte yandan, WAR dosyaları yalnızca web uygulamaları için kullanılır.
JAR istenilen herhangi bir yapı ile oluşturulabilir. Bunun aksine, WAR WEB-INF ve META-INF dizinleriyle önceden tanımlanmış bir yapıya sahiptir.
JAR dosyası, Java Çalışma Zamanı Ortamı'nın (JRE) sınıflar ve ilişkili kaynaklar dahil olmak üzere tüm uygulamayı tek bir istekte dağıtmasına olanak tanır. Öte yandan, bir WAR dosyası bir web uygulamasının kolayca test edilmesine ve dağıtılmasına izin verir.
Bir JAR dosya uzantısı .jar'dir ve komut isteminden jar komutu ile oluşturulur (örn. Javac komutu yürütülür). Genellikle, JAR dosyası kütüphaneler, sınıflar vb. Gibi Java ile ilgili kaynakları içerir. Jar dosyası platformdan bağımsız olması dışında winzip dosyası gibidir.
WAR dosyası yalnızca bir JAR dosyasıdır, ancak yalnızca Servlets, JSP, HTML gibi Web ile ilgili Java dosyalarını içerir.
WAR dosyasını yürütmek için, bir Web sunucusu veya Web kapsayıcısı gerekir; örneğin, Tomcat veya Weblogic veya Websphere. Bir JAR dosyasını çalıştırmak için basit JDK yeterlidir.