Apache IVY: tarea de resolución
La tarea de resolución se utiliza para resolver las dependencias descritas en ivy.xml, descargarlas y ponerlas en la caché de ivy.
Primero creemos un archivo java Tester.java en E: > ivy > src > com > tutorialspoint carpeta que actuará como carpeta de origen para el proyecto ant.
Application.java
package com.tutorialspoint;
import org.apache.commons.lang.StringUtils;
public class Application {
public static void main(String[] args) {
String string = StringUtils.upperCase("Ivy Beginner Guide");
System.out.println(string);
}
}
La clase anterior está usando la biblioteca lang de apache commons para usar su clase StringUtils. Ivy debería descargar esta biblioteca y, por lo tanto, debería definirse en la sección de dependencias en ivy.xml. A continuación se muestra el archivo ivy.xml creado en E: > ivy carpeta.
ivy.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info
organisation="com.tutorialspoint"
module="test"
status="integration">
</info>
<dependencies>
<dependency org="org.apache.commons" name="commons-lang3" rev="3.9"/>
</dependencies>
</ivy-module>
Los siguientes son los términos importantes.
ivy-module - Elemento raíz para identificar la versión de Ivy, el espacio de nombres, etc.
info - elemento para identificar el proyecto como entidad única.
organisation - nombre de la organización
module - nombre del módulo
status - estado como lanzamiento, integración o hito.
dependencies - elemento para contener las dependencias del proyecto como etiquetas de dependencia que tiene los siguientes atributos.
org - nombre de la organización de la dependencia
name - nombre de la dependencia.
rev - versión de la dependencia.
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="resolve dependencies">
<ivy:resolve />
</target>
</project<
Los siguientes son los términos importantes.
project - Elemento raíz para identificar el nombre del proyecto, el espacio de nombres de tareas predeterminado para Ivy, etc.
target- elemento de destino para crear una nueva tarea y su descripción. Esto contiene una tarea de resolución de hiedra. Cuando ant construye el proyecto, ejecuta la tarea de resolución de ivy que luego resuelve las dependencias usando ivy.
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
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 375ms :: artifacts dl 79ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 2 | 2 | 0 | 0 || 4 | 0 |
---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: com.tutorialspoint#test [sync]
[ivy:retrieve] confs: [default]
[ivy:retrieve] 0 artifacts copied, 2 already retrieved (0kB/101ms)
BUILD SUCCESSFUL
Total time: 1 second
E:\ivy>
Resolver salida
Los siguientes son los términos importantes.
conf - configuración, en nuestro caso estamos usando la configuración por defecto.
modules - indica el número total de módulos, módulos descargados, etc.
artifacts - indica el número total de artefactos, artefactos descargados, etc.
Puede verificar los archivos descargados en la ubicación predeterminada de la caché de Ivy en ${ivy.default.ivy.user.dir} > .ivy2 > cachecarpeta. Y $ {ivy.default.ivy.user.dir} es la casa de usuario predeterminada: $ HOME.