Si potrebbe creare un meta-modulo di edera, che dipende su tutti i pacchetti comuni, e quindi hanno tutti i vostri altri progetti risolvere le librerie comuni attraverso transitiva delle dipendenze:
<?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="common-libs"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" />
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="oracle" name="ojdbc14_g" rev="10.2.0.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="tomcat" name="servlet-api" rev="6.0.16"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="junit" name="junit" rev="4.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>
e per un progetto tipico:
<?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="myproject"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" extends="runtime"/>
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="com.example" name="common-libs" rev="latest.release"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>
Qui sto usando le tradizionali convenzioni di denominazione della configurazione dalle traduzioni POM-> Ivy del resolver Maven, sebbene sia possibile mappare i nomi di configurazione in qualsiasi modo che avesse senso per voi. Tendo ad usare l'ivy: install task per copiare i moduli Maven nel nostro repository Ivy, quindi per la maggior parte utilizzo il ivy.xmls predefinito. Se stai utilizzando IvyRoundup, in primo luogo vorrai mappare la configurazione "predefinita" in modo transitorio.
fonte
2009-12-03 20:15:29