Apache IVY - Tarea de ruta de caché

La tarea cachepath se utiliza para crear una classpath ANT con artefactos resueltos presentes en el caché. Como ANT necesita que los jar sean classpath para compilar archivos java, Ivy cachepath construye la classpath.

Creemos Tester.java, build.xml y ivy.xml como se describe en el capítulo IVY - Resolver tarea .

Actualice build.xml para utilizar la tarea de recuperación de ivy.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
      <ivy:cachepath pathid="new.classpath" />
   </target>
   <target name="compile" depends="resolve" description="Compile">
      <mkdir dir="build/classes" />
      <javac srcdir="src" destdir="build/classes">
         <classpath refid="new.classpath" />
      </javac>
   </target>
</project>

Los siguientes son los términos importantes.

  • pathid - id de la ruta de clases donde están presentes los archivos jar en caché.

recuperar tareas copia las dependencias resueltas en el directorio lib del proyecto por defecto y se puede cambiar usando el atributo de patrón.

Construyendo el proyecto

Ya que tenemos todos los archivos listos. Solo ve a la consola. Navegar aE: > ivy carpeta y ejecute el comando ant.

E:\ivy > ant compile

Ivy entrará en acción, resolviendo las dependencias, verás el siguiente resultado.

Buildfile: E:\ivy\build.xml

resolve:
[ivy:resolve] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy
/ ::
[ivy:resolve] :: loading settings :: url = jar:file:/E:/Apache/apache-ant-1.9.14
/lib/ivy-2.5.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:resolve] :: resolving dependencies :: com.tutorialspoint#test;[email protected]
PC
[ivy:resolve]   confs: [default]
[ivy:resolve]   found commons-lang#commons-lang;2.6 in public
[ivy:resolve]   found junit#junit;3.8.1 in public
[ivy:resolve] :: resolution report :: resolve 2314ms :: artifacts dl 15ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   2   |   2   |   0   |   0   ||   4   |   0   |
      ---------------------------------------------------------------------

compile:
   [javac] E:\ivy\build.xml:13: warning: 'includeantruntime' was not set, defau
lting to build.sysclasspath=last; set to false for repeatable builds
   [javac] Compiling 1 source file to E:\ivy\build\classes

BUILD SUCCESSFUL
Total time: 3 seconds

Puede verificar el archivo de clase compilado en el directorio de construcción del proyecto.