Apache IVY - Görevi Çöz
Çözme görevi, ivy.xml'de açıklanan bağımlılıkları çözmek, bunları indirmek ve ivy önbelleğine koymak için kullanılır.
İlk olarak Tester.java java dosyası oluşturalım. E: > ivy > src > com > tutorialspoint karınca projesi için kaynak klasör görevi görecek klasör.
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);
}
}
Yukarıdaki sınıf, StringUtils sınıfını kullanmak için apache commons lang kitaplığını kullanıyor. Ivy bu kitaplığı indirmeli ve bu nedenle ivy.xml'de bağımlılıklar bölümünde tanımlanmalıdır. Aşağıda, şurada oluşturulan ivy.xml E: > ivy Klasör.
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>
Aşağıdakiler önemli terimlerdir.
ivy-module - Sarmaşık sürümünü, ad alanını vb. Tanımlamak için kök öğe.
info - projeyi benzersiz bir varlık olarak tanımlayan öğe.
organisation - kuruluşun adı
module - modülün adı
status - sürüm, entegrasyon veya kilometre taşı gibi durum.
dependencies - Aşağıdaki özniteliklere sahip bağımlılık etiketleri olarak proje bağımlılıklarını içeren öğe.
org - bağımlılığın kuruluşunun adı
name - bağımlılığın adı.
rev - bağımlılığın versiyonu.
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="resolve dependencies">
<ivy:resolve />
</target>
</project<
Aşağıdakiler önemli terimlerdir.
project - Proje adını, sarmaşık için varsayılan görev ad alanını vb. Tanımlamak için kök öğe.
target- yeni bir görev ve açıklamasını oluşturmak için hedef öğe. Bu, sarmaşık çözümleme görevi içerir. Ant projeyi oluşturduğunda, sarmaşık çözümleme görevini çalıştırır ve bu görev daha sonra sarmaşık kullanarak bağımlılıkları çözer.
Projeyi inşa etmek
Tüm dosyalar hazır olduğu için. Sadece konsola git. Şu yöne rotayı ayarlaE: > ivy klasörüne gidin ve ant komutunu çalıştırın.
E:\ivy > ant
Ivy harekete geçecek, bağımlılıkları çözecek, aşağıdaki sonucu göreceksiniz.
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>
Çıktıyı Çöz
Aşağıdakiler önemli terimlerdir.
conf - konfigürasyon, bizim durumumuzda varsayılan konfigürasyonu kullanıyoruz.
modules - toplam modül sayısını, indirilen modülleri vb. Gösterir.
artifacts - toplam yapıların, indirilen yapıların vb. Sayısını gösterir.
İndirilen dosyaları sarmaşık önbelleğinin varsayılan konumunda doğrulayabilirsiniz. ${ivy.default.ivy.user.dir} > .ivy2 > cacheKlasör. Ve $ {ivy.default.ivy.user.dir} varsayılan olarak kullanıcı home'dur: $ HOME.