2010-06-08 15 views
19

İşte benim ivy.xml parçası şimdiki gibi görünüyor:Bağımlılıkların sürüm numaralarını tekrarlamaktan kaçınmak için ivy.xml dosyasındaki özellikleri kullanabilir miyim?

<dependency org="org.springframework" name="org.springframework.core" rev="${spring.version}" /> 
<dependency org="org.springframework" name="org.springframework.context" rev="${spring.version}" /> 
<dependency org="org.springframework" name="org.springframework.jdbc" rev="${spring.version}" /> 
<dependency org="org.springframework" name="org.springframework.beans" rev="${spring.version}" /> 
<dependency org="org.springframework" name="org.springframework.jms" rev="${spring.version}" /> 

bu mümkün mü:

<dependency org="org.springframework" name="org.springframework.core" rev="3.0.2.RELEASE" /> 
<dependency org="org.springframework" name="org.springframework.context" rev="3.0.2.RELEASE" /> 
<dependency org="org.springframework" name="org.springframework.jdbc" rev="3.0.2.RELEASE" /> 
<dependency org="org.springframework" name="org.springframework.beans" rev="3.0.2.RELEASE" /> 
<dependency org="org.springframework" name="org.springframework.jms" rev="3.0.2.RELEASE" /> 

İşte bunun gibi bakmak istiyorum ne? Sözdizimi nedir?

cevap

26

ivysettings.xml dosyaya mal beyanında eklemektir. Bu, her şeyi aynı dosyada saklar, bu benim kullanım durumum için önemli.

<?xml version="1.0"?> 
<!DOCTYPE ivy-module [ 
    <!ENTITY spring.version "3.0.2.RELEASE"> 
]> 
<ivy-module version="2.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd"> 

    <info organisation="org" module="mod"/> 

    <dependencies> 
     <dependency org="org.springframework" name="org.springframework.core" rev="&spring.version;" /> 
     <dependency org="org.springframework" name="org.springframework.context" rev="&spring.version;" /> 
     <dependency org="org.springframework" name="org.springframework.jdbc" rev="&spring.version;" /> 
     <dependency org="org.springframework" name="org.springframework.beans" rev="&spring.version;" /> 
     <dependency org="org.springframework" name="org.springframework.jms" rev="&spring.version;" /> 
    </dependencies> 
</ivy-module> 
+8

+1 Güzel yanal düşünme – skaffman

+1

XML varlıklarının mükemmel kullanımı. Gerçekten çok yararlı. – Vikas

13

Sözdizimi doğru. Tek yapmanız gereken ANT özelliğini bir yere yerleştirmektir. Örneğin

ant -Dspring.version=3.0.2.RELEASE 

diğer alternatif ben ikame yapmak XML girdileri kullanarak sona erdi

<ivysettings> 

    <property name="spring.version" value="3.0.2.RELEASE"/> 

    <settings defaultResolver="maven2"/> 
    <resolvers> 
     <ibiblio name="maven2" m2compatible="true"/> 
    </resolvers> 
</ivysettings> 
+2

Cool! Özelliği ivy.xml'nin içine koymak mümkün mü? Bu şekilde tüm bağımlılık bilgileri birlikte olur. –

+0

Ivy ayar dosyasındaki özellik bildirimini koymak, bağımlılık bilgisini bir arada tutmanın aynı amacına ulaşır –

+2

Cevabınız için teşekkürler, ancak çözümüme gittim (http://stackoverflow.com/questions/2996048/can-i-use -properties-in-bir-ivy-xml-dosya-kaçınmak-yineleme-sürüm-sayısı-of-dep/3091114 # 3091114) çünkü aynı dosya içinde sürüm beyanlarını tutmak istedim. –

İlgili konular