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

  • BachelorsPadTv

    BachelorsPad

    17 Ocak 2012
  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006