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;[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>

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.