Duplicar posibles:
Ivy fails to resolve a dependancy, unable to find causefalla del objetivo Ant: problema Antlib o Ivy?
Estoy tratando de ejecutar la tarea siguiente estructura (initIvy
):
<?xml version="1.0" encoding="UTF-8"?>
<project name="myproject-build" default="package" basedir=".." xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="build/build.properties"/>
<property environment="env"/>
<!-- Ant library path, including all of its plugins. -->
<path id="ant.lib.path">
<fileset dir="${env.ANT_HOME}/lib" includes="*.jar"/>
</path>
<!-- CONFIGURE IVY -->
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant" classpathref="ant.lib.path"/>
<!-- Use Ivy tasks to resolve dependencies into the local Ivy cache. -->
<target name="initIvy">
<!-- Initialize Ivy and connect to host repository. -->
<echo message="Initializing Apache Ivy and connecting to the host repository."/>
<ivy:settings url="${ivy.std.repo.settings.url}" realm="${ivy.std.repo.realm}" username="${ivy.std.repo.username}" passwd="${ivy.std.repo.password}"/>
<!-- Clear/flush the Ivy cache. -->
<echo message="Cleaning the local Ivy cache for the current build."/>
<ivy:cleancache/>
</target>
<!-- Rest of buildfile omitted for brevity. -->
</project>
Cuando corro ant -buildfile build.xml initIvy
Me da la siguiente salida :
Buildfile: /<path-to-my-project>/build/build.xml
[taskdef] Could not load definitions from resource org/apache/ivy/ant/antlib.xml. It could not be found.
initIvy:
[echo] Initializing Apache Ivy and connecting to the host repository.
BUILD FAILED
/<path-to-my-project>/build/build.xml:81: Problem: failed to create task or type antlib:org.apache.ivy.ant:settings
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
No types or tasks have been defined in this namespace yet
This appears to be an antlib declaration.
Action: Check that the implementing library exists in one of:
-/<path-to-my-ANT_HOME>/lib
-/home/myUser/.ant/lib
-a directory added on the command line with the -lib argument
Cuando voy a $ {ANT_HOME}/lib, no veo ningún JAR etiquetado como "antlib * .jar".
Así que estoy adivinando he descargado una versión de hormiga que no incluía Antlib, y ahora que estoy usando Ivy (que utiliza Antlib), la acumulación está asfixiando?
Si se trata de un problema Antlib, entonces creo que quiero una de las distribuciones disponibles here. De ser así, ¿alguien puede confirmar cuál debo usar (que solo contiene Antlib y nada más) y confirmar el proceso para instalarlo? es decir, ¿es tan simple como poner el JAR correcto en $ {ANT_HOME}/lib? Etc.
Si se trata de un problema de Ivy, ¿alguien me puede orientar en la dirección correcta de lo que podría estar pasando?
Y si esto no es ni Antlib ni Ivy, lo mismo para la pregunta que se encuentra arriba. ¡Gracias por adelantado!
Dang - eso fue todo. Acababa de copiar el Ivy lib JAR, olvidándome de copiar el Ivy JAR. Solo por curiosidad, ¿qué fue lo que te dio la idea (correcta)? ¡Solo trato de aprender para que la próxima vez pueda diagnosticar el problema yo mismo! ¡Gracias de nuevo! – IAmYourFaja
@ 4herpsand7derpsago [antlib] (https://ant.apache.org/manual/Types/antlib.html) es un término genérico en hormiga y no una herramienta separada. Si obtiene "No se pudieron cargar las definiciones desde el recurso org/apache/ivy/ant/antlib.xml. No se pudo encontrar" ", entonces significa que no hay un archivo jar en el classpath, que contiene y" org /apache/ivy/ant/antlib.xml ". Y como este archivo es parte de ivy.xml, sabe que falta la lib. – oers
Una forma más conveniente es utilizar el [Sitio de actualización de Ivy Eclipse] (http://www.apache.org/dist/ant/ivyde/updatesite) - Instale tanto "Apache Ivy" -Libs (Apache Ivy y Apache Ivy Ant Taks) – teclis