2010-11-23 5 views
2

J'ai la dépendance suivante:Ant Ivy dépendance résolution

<dependency org="foo" name="bar" rev="1.0" conf="war-runtime->runtime" /> 

Cependant, le pot, je veux que cela résoudre à s'appelle foo_bar-g.jar.

Actuellement, il essaie foo_bar.jar qui échoue parce que le pot n'existe pas.

Puis-je spécifier le nom de mon pot ou un motif dans la dépendance?

J'ai une liste de résolveurs spécifiés dans un fichier ivy-settings.xml, mais ce fichier est partagé entre d'autres applications, donc je ne peux pas le changer.

+0

Il décide de "foo_bar.jar" et non "bar-1.0.jar" du projet foo.bar-1.0 dans votre repository? Comment se passe cette configuration dans votre référentiel Maven local? –

+0

Je n'utilise pas maven. – dogbane

Répondre

2

Je compris cela:

Dans ivy_settings.xml ajouter un résolveur personnalisé:

<resolvers>  
    <filesystem checkconsistency="false" checkmodified="true" name="foo.bar"> 
     <artifact pattern="//path/to/foo_bar-g.[ext]"/> 
    </filesystem> 
    </resolvers> 

État que vous souhaitez utiliser ce résolveur pour le module bar.

<modules> 
    <module name="bar" organisation="foo" resolver="foo.bar"/> 
    </modules> 

Puis, en ivy.xml:

<dependency org="foo" name="bar" rev="1.0"> 
     <artifact name="bar" type="jar" ext="jar" conf="war-runtime->runtime"/> 
</dependency> 
0

Je ne suis pas complètement suivi votre question comme indiqué ici. L'instruction dependency devrait regarder comment la configuration "runtime" est définie dans le foo.bar ivy.xml. C'est là qu'il indique quel fichier jar doit être regardé dans le référentiel. À la réception, le fichier sera copié en fonction de la configuration de votre résolveur. Le serait typiquement bar-1.0.jar

Où le problème se produit-il? Dans la résolution? Ou résout-t-il et le fichier local est nommé différemment que vous ne le souhaitez?

+0

Je veux qu'il se résolve à un nom différent. Pour le moment, il s'agit de foo_bar.jar, mais mon fichier s'appelle foo_bar-g.jar. – dogbane

Questions connexes