Il mio obiettivo è avere il mio script di formica di build costruire un file di guerra e includere i vasi da cui ivy sa che questo progetto dipende. Il codice di meglio che ho potuto venire con in questo momento è la seguenteCome usare ivy per costruire una guerra senza copiare i jar in una directory lib
<mkdir dir="dist/lib"/>
<ivy:retrieve pattern="dist/lib/[artifact].[ext]" sync="true"/>
<war destfile="dist/${ivy.module}.war" basedir="build" includes="**/*.class"
webxml="${war.webxml}">
<fileset dir="${war.web}"/>
<lib dir="dist/lib"/>
</war>
Il problema con questo codice è copia i vasetti due volte. Una volta nella mia directory dist/lib e di nuovo nella guerra quando viene creata. Funziona ma non riesco a scuotere la sensazione che ci sia un modo migliore.
Quello che vorrei fare è qualcosa di più simile al seguente
<ivy:cachepath pathid="locpathref.classpath"/>
<war destfile="dist/${ivy.module}.war" basedir="build" includes="**/*.class"
webxml="${war.webxml}">
<fileset dir="${war.web}"/>
<lib refid="locpathref.classpath"/>
</war>
Il problema è che il tag lib non prende in un refid di qualsiasi tipo. Qualche idea o sono bloccato con un set extra di copie di file?
Usa quindi il tag lib funzionerà come previsto –