Apache IVY - Résoudre la tâche
La tâche de résolution est utilisée pour résoudre les dépendances décrites dans ivy.xml, les télécharger et les mettre dans le cache ivy.
Commençons par créer un fichier java Tester.java dans E: > ivy > src > com > tutorialspoint dossier qui servira de dossier source pour le projet 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 classe ci-dessus utilise la bibliothèque apache commons lang pour utiliser sa classe StringUtils. Ivy devrait télécharger cette bibliothèque et donc elle devrait être définie dans la section des dépendances dans ivy.xml. Voici le fichier ivy.xml créé dans E: > ivy dossier.
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>
Voici les termes importants.
ivy-module - Élément racine pour identifier la version de lierre, l'espace de noms, etc.
info - élément permettant d'identifier le projet comme une entité unique.
organisation - nom de l'organisation
module - nom du module
status - statut comme la sortie, l'intégration ou le jalon.
dependencies - élément pour contenir les dépendances du projet en tant que balises de dépendance qui ont les attributs suivants.
org - nom de l'organisation de la dépendance
name - nom de la dépendance.
rev - version de la dépendance.
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="resolve dependencies">
<ivy:resolve />
</target>
</project<
Voici les termes importants.
project - Élément racine pour identifier le nom du projet, l'espace de noms de tâche par défaut pour ivy, etc.
target- élément cible pour créer une nouvelle tâche et sa description. Celui-ci contient une tâche de résolution de lierre. Lorsque ant construit le projet, il exécute la tâche de résolution d'ivy qui résout ensuite les dépendances à l'aide d'ivy.
Construire le projet
Comme nous avons tous les fichiers prêts. Allez simplement sur la console. Aller versE: > ivy dossier et exécutez la commande ant.
E:\ivy > ant
Ivy entrera en action, résolvant les dépendances, vous verrez le résultat suivant.
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;working@Acer-
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>
Résoudre la sortie
Voici les termes importants.
conf - configuration, dans notre cas, nous utilisons la configuration par défaut.
modules - indique le nombre total de modules, modules téléchargés etc.
artifacts - indique le nombre total d'artefacts, d'artefacts téléchargés, etc.
Vous pouvez vérifier les fichiers téléchargés dans l'emplacement par défaut d'ivy cache dans ${ivy.default.ivy.user.dir} > .ivy2 > cachedossier. Et $ {ivy.default.ivy.user.dir} est par défaut le domicile de l'utilisateur: $ HOME.