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.