SORU
16 Mart 2009, PAZARTESİ


Biri ivy.xml bağımlılık'conf öznitelik s açıklayabilir mi?

Ivy bağımlılık etiketin herhangi bir ayrıntılı açıklama bulamıyorumconföznitelik:

<dependency org="hibernate" name="hibernate" rev="3.1.3" conf="runtime, standalone -> runtime(*)"/>

conföznitelik? Herhangi bir açıklama anlayabiliyorum) -> sembol sağ tarafında yaklaşık bulamıyorum. Şunu unutmayın ki Maven hakkında ilk şey, lütfen bunu dikkate alarak bunu açıklayabilecek kadar bilmiyorum.

Evet, zaten bu baktım: http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html

Teşekkürler
Dan

CEVAP
17 Mart 2009, Salı


Öncelikle Ivy is not Maven ;)
Maven2 Ivy sadece bağımlılık yönetim aracı ise yazılım proje yönetimi ve anlama aracı.

Ivy ağır benzersiz bir kavram olarak adlandırılan dayanıryapılandırma.
Ivy, modül yapılandırmayolu kullanmak veya modülüne bakın.
Örneğin, modül test ve çalışma zamanı yapılandırma olabilir. Ama aynı zamanda bir mysql ve oracle bir yapılandırma olabilir. Ya da hazırda olanları bir yapılandırma.

Her yapılandırmada bildirebilirsiniz:

  • ne eserler (jar, war, ...) gereklidir.
  • diğer modül bağımlılıkları ve ihtiyacınız olan tarif. Bu yapılandırma eşleme denir.

Yani conf özniteliği tam olarak bunu yapıyor: bir bağımlılık eşleştirme için. bir yapılandırma Anlatılmaktadır
mapped child element "-> sembolü tarafta" ve bağımlılık yapılandırma eşlenen adını temsil eder. sağ. '*' joker Bu modül konfigürasyonları belirlemek için kullanılabilir.


Yan Maven2 olan bir şeyler aradıkapsam.
Test kapsamı bir parçası, ya da buildtime kapsam olarak bir bağımlılık bildirebilirsiniz.
O zaman bu kapsama bağlı bağımlılıklarından kapsamı bağlı olarak bağımlılık obje (maven2 modül başına yalnızca bir obje). Kapsamları maven2 içinde önceden tanımlanmıştır ve değiştirilemez.

Anlamına gelir :

Bir vardırçokgereksiz bağımlılıkları birçok kütüphane için indirildi.
Örneğin, Hazırda çeşitli web çerçeve Kavanoz tüm JBoss Kavanoz ve Ekran Etiket popülerlik bir sürü yükler. Ben ilave olarak, hemen hemen aynı sayıda bağımlılıkları hariç kendimi buldum.

Sorun olan uyku ile, çeşitli önbellek uygulamaları, çeşitli bağlantı havuzu uygulama, ... ... Ve bu olamaz yönetilen kapsamları, nerede Ivy yapılandırmaları sunar zekice bir çözüm için bu tür bir sorun.
Sarmaşık meselafarz hazırda bunun gibi sarmaşık bir dosya varo zaman böyle bir bağımlılık bildirebilirsiniz

<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->proxool,oscache"/>

proxool ve oscache uygulamaları ile uyku almak, ve bu gibi:

<dependency org="hibernate" name="hibernate" rev="2.1.8" conf="default->dbcp,swarmcache"/>

dbcp ve swarmcache ile hazırda olsun.

master varsayılan yapılandırma eşleme "proxool,oscache" veya "dbcp,swarmcache" belirtmek gerekirtam olarakmodülünden "". Hazırda Beklet


Bu bulabilirsiniz",... proxool" ıvy yapılandırma listeleyerek argümanlar her bir modül için tanımlanmış kütüphane ile ilişkilendirmek. Örneğin:

<ivy-module version="2.0">
<info organisation="ssn-src" module="pc"/>
<configurations defaultconfmapping="default->default">
    <conf name="default" />
    <conf name="provided" description="they are provided by the env." />
    <conf name="compile" extends="default,provided" />
    <conf name="war" extends="default"/>
</configurations>
<dependencies>

Example:

hadi modA iki yapılandırmaları varsayılan ve test vardır herhalde.
Pratik bir mesele olarak, son derece alışılmadık bir bağımlılık öğe conf öznitelik bırakmak istediğin için olacak.
modA ivy.xml bir bağımlılık olabilir:

<dependency org="theteam" name="modB" rev="1.0" conf="default->*" />

Hem varsayılan ve test varsayılan yerine başlıyorsun.

Yukarıdaki örnekte modA varsayılan conf1, conf2, modB bağlıdır ve conf3 yapar.
Ya da modA varsayılan sadece modB bağlı olduğunu söylemek isteyebilirsiniz conf1

<dependency org="theteam" name="modB" rev="1.0" conf="default->*conf1*" />

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Major FX

    Major FX

    6 HAZİRAN 2012
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007