Apache IVY - rozwiązanie zadania

Zadanie Resolve służy do rozwiązywania zależności opisanych w ivy.xml, pobierania i umieszczania ich w pamięci podręcznej bluszczu.

Najpierw utwórzmy plik java Tester.java w formacie E: > ivy > src > com > tutorialspoint folder, który będzie pełnił rolę folderu źródłowego dla projektu mrówkowego.

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);
   }
}

Powyższa klasa używa biblioteki apache commons lang do używania jej klasy StringUtils. Ivy powinien pobrać tę bibliotekę i dlatego powinna być zdefiniowana w sekcji zależności w ivy.xml. Poniżej znajduje się plik ivy.xml utworzony w programie E: > ivy teczka.

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>

Poniżej znajdują się ważne terminy.

  • ivy-module - Element główny identyfikujący wersję bluszczu, przestrzeń nazw itp.

  • info - element identyfikujący projekt jako unikalną całość.

    • organisation - nazwa organizacji

    • module - nazwa modułu

    • status - status, taki jak wydanie, integracja lub kamień milowy.

  • dependencies - element zawierający zależności projektu jako znaczniki zależności, który ma następujące atrybuty.

    • org - nazwa organizacji zależności

    • name - nazwa zależności.

    • rev - wersja zależności.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
</project<

Poniżej znajdują się ważne terminy.

  • project - Element główny identyfikujący nazwę projektu, domyślną przestrzeń nazw zadań dla bluszczu itp.

  • target- element docelowy do stworzenia nowego zadania i jego opisu. Zawiera zadanie rozwiązania bluszczu. Kiedy mrówka buduje projekt, uruchamia zadanie rozwiązywania bluszczu, które następnie rozwiązuje zależności za pomocą bluszczu.

Budowanie projektu

Ponieważ mamy gotowe wszystkie pliki. Po prostu idź do konsoli. Nawigować doE: > ivy folder i uruchom polecenie ant.

E:\ivy > ant

Bluszcz zacznie działać, rozwiązując zależności, zobaczysz następujący wynik.

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>

Rozwiąż wyjście

Poniżej znajdują się ważne terminy.

  • conf - konfiguracja, w naszym przypadku używamy konfiguracji domyślnej.

  • modules - wskazuje całkowitą liczbę modułów, pobranych modułów itp.

  • artifacts - wskazuje całkowitą liczbę artefaktów, pobranych artefaktów itp.

Możesz zweryfikować pobrane pliki w domyślnej lokalizacji pamięci podręcznej bluszczu w ${ivy.default.ivy.user.dir} > .ivy2 > cacheteczka. A $ {ivy.default.ivy.user.dir} to domyślny użytkownik domowy: $ HOME.