2010-03-07 8 views
0

Voici mon ivy.xml:Comment utiliser Apache ivy pour résoudre les dépendances avec plusieurs fichiers?

<?xml version="1.0" encoding="UTF-8"?> 
<ivy-module version="2.0"> 
... 
<dependencies> 
    <dependency org="spring" name="richclient" rev="1.1.0"/> 
</dependencies> 
</ivy-module> 

Et lierre settings.xml:

<property name="ivy.local.default.root"    value="/home/---/dev/Java/_libraries/_ivy" override="false"/> 
<property name="ivy.local.default.ivy.pattern"  value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> 
<property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> 
<resolvers> 
    <filesystem name="local"> 
     <ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" /> 
     <artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" /> 
    </filesystem> 
</resolvers> 

Ivy essayer de trouver /home/---/dev/Java/_libraries/_ivy/spring/richclient/1.1.0/jars/richclient.jar

Et voici le problème. La bibliothèque a 4 fichiers jar.

Comment inclure tous les jars dans le projet à partir d'une dépendance dans ivy.xml?

Thx

Répondre

2

Je suppose que vous venez de télécharger les pots localement? Il ne fonctionnera pas à moins que vous aussi écrire un fichier ivy.xml pour les fichiers téléchargés, la liste des objets qui sont associés au module (voir la section publications du doco de ivy.xml)

Pourquoi ne pas éviter les tracas de maintenir votre propre version du module de quelqu'un d'autre en utilisant le dépôt maven fourni par Spring?

Ajouter ce qui suit à votre fichier lierre settings.xml:

<resolvers> 
    <ibiblio name="spring-rcp" m2compatible="true" root="http://spring-rich-c.sourceforge.net/maven2repository"/> 
</resolvers> 
0

Alors que Ivy peut fonctionner en utilisant les dépendances sur les fichiers JAR individuels, il fonctionne mieux si vous définissez ivy.xml séparés les fichiers pour les dépendances eux-mêmes, qui spécifie les 4 fichiers JAR séparés. Ce ivy.xml définit ce qu'Ivy appelle un module.

Le code ivy.xml de votre application exprime alors une dépendance à ce module plutôt qu'à des fichiers JAR spécifiques.

Le site Ivy a un tutoriel sur les modules, je recommande fortement de le lire

http://ant.apache.org/ivy/history/latest-milestone/tutorial/conf.html