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.