Ejecute su compilación de ant con el indicador detallado (-v). Esto le dará una idea clara de qué archivos de configuración se están utilizando durante todo el proceso de resolución. Mi apuesta es que encontrará su problema con bastante facilidad y estará en la línea del archivo de configuración que creía que estaba utilizando y que en realidad no está siendo utilizado.
En mis proyectos, me parece que este tipo de cosas a menudo sucede cuando una tarea posterior a la resolución (como recuperar) desencadena una resolución "automáticamente" y utiliza la configuración de hiedra predeterminada en lugar de la que yo quiero que utilice en el momento. Lo más probable es que su archivo de configuración predeterminado no contenga los resolvedores que está esperando.
Para resolver estos problemas, hago un ivysettings-common.xml que contiene solo resolvedores. Luego, en cada uno de mis archivos de configuración, importo la configuración común y hago referencia a los resolvedores en la cadena principal. Que se parece a:
<ivysettings>
<settings defaultResolver="all-repositories" />
<include file="ivysettings-common.xml" />
<resolvers>
<chain name="all-repositories" returnFirst="true" >
<resolver ref="project" />
<resolver ref="local" />
<resolver ref="hibernate" />
<resolver ref="ibibilo" />
</chain>
</resolvers>
</ivysettings>
A partir de ahí, hago el archivo común de mis ajustes por defecto, sólo "en caso de emergencia" Me conocen todos mis resolutores se pueden encontrar (añadiendo lo siguiente a ivy.properties):
ivy.settings.file = ${basedir}/path/to/ivysettings-common.xml
pero explícitamente todas mis llamadas de hiedra en el archivo de configuración apropiada, tratando de no confiar en el defecto porque toda la razón por la que utilizo la hiedra + hormiga es que prefiero un control preciso sobre mi proceso de construcción:
Espero que todo eso te ayude a ti o a alguien más.
~ gMale
Eso no es correcto, el sistema de resolución se puede cambiar fácilmente. Puedo definir varios resolvedores y configurarlos a través de la etiqueta del módulo. O simplemente use más de un archivo de configuración y refiérase a ellos a través del atributo settingsref. –
Sí, por supuesto que puedes. Mi punto es que el caché de hiedra registra mucha información relacionada con resolver. Según mi experiencia, este caché debe ser purgado periódicamente, especialmente cuando cambio la configuración de hiedra. –
finalmente reconocí esta respuesta, limpiar la caché funciona para mí. Aunque estoy limpiando casi todo el tiempo, esto todavía está lejos de ser óptimo. –