Tutulma açısından JAR dosyası olarak dışa aktarma ile Çalıştırılabilir JAR dosyası olarak dışa aktarma arasındaki fark nedir? İkisi de koşabilir değil mi? Her birinin artıları / eksileri nelerdir?
Tutulma açısından JAR dosyası olarak dışa aktarma ile Çalıştırılabilir JAR dosyası olarak dışa aktarma arasındaki fark nedir? İkisi de koşabilir değil mi? Her birinin artıları / eksileri nelerdir?
Yanıtlar:
Çalıştırılabilir jar, jar çalıştırıldığında yürütülecek Main sınıfını tanımlayan bir MANIFEST.MF dosyası içerir.
Çalıştırılamayan kavanozlar, kodun yeniden kullanılması için sınıf yoluna eklenebilen sınıf kitaplıklarıdır (ayrıca manifest dosyasını içerir, ancak orada ana sınıf yoktur)
Çalıştırılabilir bir jar dosyası, "Ana Sınıf:" bildirimini içeren gömülü bir Manifest dosyasına sahip bir jar dosyasıdır. "Ana Sınıf" tanımlanmalıdır, böylece java çalışma zamanı, jar "çalıştırıldığında" hangi sınıfı çağıracağını bilir. Bir kavanoz "Ana Sınıf:" ile bir bildirim içermiyorsa, bu bir "çalıştırılabilir kavanoz" olarak kabul edilmez - bu yalnızca bir Java kodu kitaplığıdır.
Eclipse'in kavanozu ihraç etme biçimindeki farkın bu olduğunu tahmin ediyorum, ancak% 100 emin değil.
Daha fazla bilgi için bu bağlantıya bakın: http://www.skylit.com/javamethods/faqs/createjar.html
Benim durumumda, tüm ana sınıfım ve manifest.mf'de belirtilen tüm kitaplıkların yol dizinine sahip olduğumda bir jar olarak dışa aktarırdım. Birçok uygulama aynı kitaplığı kullanıyorsa, her bir jar için paylaşılan kitaplığı dışa aktarmak gereksizdir. Kavanozun daha hızlı çalışmasını sağlar. Ancak, farklı sunucu sınıf yollarındaki yapılandırma sorunu nedeniyle çoğu zaman kitaplığa erişemez ve bu durumda, dosyanın yürütülmesini yavaşlatan ve büyük hale getiren çalıştırılabilir jar'i dışa aktarmak mantıklıdır.