5 votes

Ivy n'a pas réussi à résoudre la dépendance : Que vérifier, que faire ?

J'utilise Ivy pour résoudre les dépendances dans mon très petit projet. C'est la première fois que je fais cela et c'est plus à apprendre car mon projet est très petit.

J'ai eu un problème il y a 5 minutes, en essayant de télécharger log4j.

Ma configuration est très basique, j'ai une tâche ant :

<target name="resolve" description="--> retrieve dependencies with ivy">
        <ivy:retrieve/>
    </target>

et mon Ivy.x

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />

</dependencies>

Le problème semble se produire lorsque ivy essaie de télécharger jms 1.1 (je suppose qu'il est nécessaire pour log4j) comme je peux le voir dans la console :

:

:::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      ::              FAILED DOWNLOADS            ::
[ivy:retrieve]      :: ^ see resolution messages for details  ^ ::
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      :: javax.jms#jms;1.1!jms.jar
[ivy:retrieve]      :: com.sun.jdmk#jmxtools;1.2.1!jmxtools.jar
[ivy:retrieve]      :: com.sun.jmx#jmxri;1.2.1!jmxri.jar
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::

Y a-t-il quelque chose que je puisse faire ?

Merci beaucoup les gars.

F

9voto

GaZ Points 1054

Le problème est, comme vous l'avez compris, que ces bocaux ne se trouvent pas dans les dépôts distants. Mais il se peut qu'ils ne soient pas vraiment nécessaires à votre programme. La seule raison pour laquelle Ivy essaie de les télécharger est qu'ils sont déclarés dans le pom.xml sur ibiblio. Si vous essayez la version 1.2.14, vous verrez que ces dépendances transitives ne sont pas dans le pom.xml 1.2.14, et donc Ivy ne les téléchargera pas.

Sinon, si vous souhaitez vous en tenir à la version 1.2.15, vous pouvez ajouter un élément d'exclusion dans votre fichier ivy.xml pour indiquer à Ivy d'ignorer ces bibliothèques :

<dependency org="log4j" name="log4j" rev="1.2.15">
  <exclude org="com.sun.jdmk"/>
  <exclude org="com.sun.jmx"/>
  <exclude org="javax.jms"/>
</dependency>

J'espère que cela vous aidera :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X