Apache IVY - Risolvi attività
L'attività di risoluzione viene utilizzata per risolvere le dipendenze descritte in ivy.xml, scaricarle e inserirle in ivy cache.
Creiamo prima un file java Tester.java in E: > ivy > src > com > tutorialspoint cartella che fungerà da cartella di origine per il progetto 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 sopra sta usando la libreria lang di apache commons per usare la sua classe StringUtils. Ivy dovrebbe scaricare questa libreria e quindi dovrebbe essere definita nella sezione delle dipendenze in ivy.xml. Di seguito è riportato ivy.xml creato in E: > ivy cartella.
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>
Di seguito sono riportati i termini importanti.
ivy-module - Elemento radice per identificare la versione di Ivy, lo spazio dei nomi ecc.
info - elemento per identificare il progetto come entità unica.
organisation - nome dell'organizzazione
module - nome del modulo
status - stato come rilascio, integrazione o pietra miliare.
dependencies - elemento per contenere le dipendenze del progetto come tag di dipendenza che ha i seguenti attributi.
org - nome dell'organizzazione della dipendenza
name - nome della dipendenza.
rev - versione della dipendenza.
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="resolve dependencies">
<ivy:resolve />
</target>
</project<
Di seguito sono riportati i termini importanti.
project - Elemento radice per identificare il nome del progetto, lo spazio dei nomi dell'attività predefinito per Ivy ecc.
target- elemento target per creare una nuova attività e la sua descrizione. Questo contiene un'attività di risoluzione dell'edera. Quando formica costruisce il progetto, esegue l'attività di risoluzione ivy che poi risolve le dipendenze usando ivy.
Costruire il progetto
Poiché abbiamo tutti i file pronti. Vai alla console. Navigare versoE: > ivy cartella ed esegui il comando ant.
E:\ivy > ant
Ivy entrerà in azione, risolvendo le dipendenze, vedrai il seguente risultato.
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>
Risolvi output
Di seguito sono riportati i termini importanti.
conf - configurazione, nel nostro caso stiamo usando la configurazione predefinita.
modules - indica il numero totale di moduli, moduli scaricati ecc.
artifacts - indica il numero totale di artefatti, artefatti scaricati ecc.
Puoi verificare i file scaricati nella posizione predefinita di ivy cache in ${ivy.default.ivy.user.dir} > .ivy2 > cachecartella. E $ {ivy.default.ivy.user.dir} è per impostazione predefinita la home dell'utente: $ HOME.