java - Falla en el objetivo de la hormiga: ¿problema con Antlib o Ivy?
(1)
Creo que te podría estar perdiendo la biblioteca Apache IVY. Descárguelo desde aquí - Apache ivy Copie el jar en su directorio ant lib.
Por ejemplo (cambiar los números de versión según corresponda):
- Descargue e instale Ant (por ejemplo,
C:/Apps/Tools/apache-ant-1.9.7
). - Descargar y extraer Ivy (por ejemplo,
C:/Users/UserName/Downloads/apache-ivy-2.4.0
) - Copie
C:/Users/UserName/Downloads/apache-ivy-2.4.0/ivy-2.4.0.jar
enC:/Apps/Tools/apache-ant-1.9.7/lib
.
Ant está configurado para usar Ivy.
Posible duplicado:
Ivy no logra resolver una dependencia, incapaz de encontrar la causa
Estoy intentando ejecutar la siguiente tarea de compilación ( 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 ejecuto ant -buildfile build.xml initIvy
obtengo el siguiente resultado:
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 archivo JAR con la etiqueta "antlib * .jar".
Así que supongo que descargué una versión de Ant que no incluía Antlib, y ahora que estoy usando Ivy (que usa Antlib), ¿la versión se está asfixiando?
Si este es un problema de Antlib, entonces creo que quiero una de las distribuciones disponibles here . Si es así, ¿puede alguien confirmar cuál debo usar (que solo contiene Antlib y no otra cosa), 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, ¿puede alguien indicarme la dirección correcta de lo que podría estar pasando?
Y si esto no es ni Antlib ni Ivy, ídem para la pregunta directamente arriba. ¡Gracias por adelantado!