SORU
15 AĞUSTOS 2011, PAZARTESİ


Bir program derlenirken bir kütüphane bağlı olabilir ama zamanı değil mi?

Ve derleme zamanı ve çalışma zamanı ikisi arasında ayrım yapmak arasındaki fark anlıyorum, ama ben sadece derleme zamanı ve çalışma zamanı arasında bir ayrım yapmak istemiyorumbağımlılıklar.

Boğulma benim düşüncem şu: nasıl bir program olabilirbağlı değilsırasında yapılıyordu bu zamanı bir derleme mi? Eğer benim Java uygulaması kullanır log4j, sonra ihtiyacı olan log4j.jar dosya için derleme (benim kod ile entegre ve üye çağırma yöntemleri içinde log4j) yanı sıra, çalışma zamanı (kodum var kesinlikle kontrol ne olur bir kez kod içinde log4j.jar olduğu koştu).

Ivy ve Maven gibi bağımlılık çözümleme araçları okuyorum, ve bu araçlar açıkça bağımlılıkları bu iki tür arasında ayrım yapmak. Ben sadece bunun için gerek anlamıyorum.

Herkes basit bir verebilir, "İngiliz"türü bir açıklama, hatta bir zavallı ben sap gibi gerçek bir örnekle tercihen anlayabilir? Kral

CEVAP
15 AĞUSTOS 2011, PAZARTESİ


Derleme bir bağımlılık genellikle zamanında gereklidir. Maven, compile kapsamlı bir bağımlılık zamanı sınıf (kopyalanan olacak WEB-INF örneğin savaş için/lib) eklenecektir.

Değil, ancak, kesinlikle gerekli; örneğin, biz derleme karşı belirli bir API, bir derleme zamanı bağımlılık, ama o zaman zamanı dahil uygulaması da içerir API.

Proje belirli bir bağımlılık derleme gerektirir ama daha sonra gelen kodu aslında gerekli değil saçak durumlar olabilir, ama bu nadir olur.

Öte yandan, derleme zamanı sırasında gerekli çalışma zamanı bağımlılıkları da dahil olmak üzere çok yaygındır. Örneğin, eğer bir yazı Java EE 6 uygulama, derleme karşı Java EE 6 API, ancak çalışma zamanında, herhangi bir Java EE konteyner kullanılabilir; bu kap sağlayan uygulama.

Derleme zamanı bağımlılıkları yansıma kullanarak önlenebilir. Örneğin, yerli mal sürücüsü Class.forName yüklenebilir ve gerçek sınıf yapılandırma dosyası üzerinden yapılandırılabilir yüklendi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008