Apache IVY - Hızlı Kılavuz

Apache Ivy, ANT tabanlı projelerdeki bağımlılıkları aynı şekilde yönetmek için kullanılan çok popüler ve çok güçlü bir bağımlılık yönetimi aracıdır, Apache Maven bağımlılıkları nasıl yönetir.

Apache Ivy, Apache ANT tabanlıdır, aynı tasarım ilkelerini takip eder, Apache ANT'nin bir alt projesidir ve Apache ANT Topluluğu tarafından aktif olarak yönetilir ve desteklenir.

Özellikleri

Apache Ivy'nin önemli özellikleri aşağıdadır.

  • ANT Based- Apache Ivy, ANT tabanlı projelere bir bağımlılık yönetimi yeteneği sağlar. Kullanımı da çok basit.

  • Dependency Reports - Apache Ivy, bağımlılıklar grafiğini html ve rapor biçiminde yazdırma seçenekleri sunar.

  • Non-intrusive- Apache Ivy, dağıtımın bir parçası olma konusunda herhangi bir kısıtlama getirmez. Derleme dosyaları bile Apache Ivy'ye bağımlı değildir.

  • Highly Flexible - Apache Ivy birçok varsayılan yapılandırma sağlar ve ihtiyaca göre çok kolay bir şekilde yapılandırılabilir.

  • Extendible- Apache Ivy kolayca uzatılabilir. Kendi deponuzu, çatışma çözücülerinizi ve en son stratejinizi tanımlayabilirsiniz.

  • Performance- Apache Ivy performans için tasarlanmıştır. Zaten indirilmiş bir kitaplık önbelleği tutar. Diğer depolara bakmaktansa bağımlılıkları çözmek için önce yerel depolara bakar.

  • Transitive Dependencies - Apache Ivy, bir proje veya kitaplık başka bir kitaplığa ihtiyaç duyabilecek başka bir kitaplığa bağlıysa, geçişli bağımlılıkları otomatik olarak yönetir.

  • Maven Repository- Apache Ivy, Maven veri havuzu kurallarına benzer kuralları takip eder. Apache Ivy, maven genel deposunu kullanarak bağımlılıkları çözebilir.

  • Maven 2 POMs- Apache Ivy, Maven 2 POM'ları modül tanımlayıcıları olarak okuyabilir, ivy'yi modül tanımlayıcı olarak ayarlayabilir. Böylelikle mevcut projelerin IVY tarafından yönetilen projelere taşınmasını kolaylaştırır.

  • Publishing - Apache Ivy, projenizi yayınlamak için destekler sağlar ve çok projeli ortam dağıtım sürecini basitleştirir.

  • Free to Use - Apache Ivy açık kaynak kodludur ve kullanımı ücretsizdir.

  • Documentation - Apache Ivy'nin öğrenilebilecek çok ayrıntılı belgeleri ve öğreticileri vardır.

Apache Ivy, tek gereksinim olarak makinenizde Java ve ANT'nin yüklü olmasını gerektirir.

Apache Ant, açık kaynak girişimi tarafından onaylanmış, tam teşekküllü bir açık kaynak lisansı olan Apache Yazılım Lisansı altında dağıtılmaktadır.

Tam kaynak kodu, sınıf dosyaları ve dokümantasyonu dahil olmak üzere en son Apache Ant sürümü şu adreste bulunabilir: http://ant.apache.org.

Apache Ant'ı Yükleme

Java Geliştirme Kiti'ni (JDK) bilgisayarınıza zaten indirip kurduğunuz varsayılmaktadır. Değilse, talimatları takip edin burada .

  • JAVA_HOME ortam değişkeninin, JDK'nızın kurulu olduğu klasöre ayarlandığından emin olun.

  • İkilileri şuradan indirin: https://ant.apache.org

  • Zip dosyasını uygun bir konuma c: \ klasörüne açın. Winzip, winRAR, 7-zip veya benzeri araçlar kullanarak.

  • Adlı yeni bir ortam değişkeni oluşturun ANT_HOME bu, bu durumda Ant kurulum klasörüne işaret eder c:\apache-ant-1.9.14-bin Klasör.

  • Apache Ant toplu iş dosyasının yolunu PATH ortam değişkenine ekleyin. Bizim durumumuzda bu,c:\apache-ant-1.9.14-bin\bin Klasör.

Apache Ant Kurulumunu Doğrulama

Apache Ant'ın bilgisayarınıza başarıyla kurulduğunu doğrulamak için komut isteminize ant yazın.

Şuna benzer bir çıktı görmelisiniz -

C:\>ant -version
Apache Ant(TM) version 1.9.14 compiled on March 12 2019

Yukarıdaki çıktıyı görmüyorsanız, lütfen kurulum adımlarını doğru şekilde uyguladığınızı doğrulayın.

Apache Ivy'yi Kurmak

  • İkilileri şuradan indirin: https://ant.apache.org/ivy

  • Zip dosyasını uygun bir konuma c: \ klasörüne açın. Winzip, winRAR, 7-zip veya benzeri araçlar kullanarak.

  • Sarmaşık-2.5.0.jar dosyasını şuraya kopyalayın: c:\apache-ant-1.9.14-bin/lib Klasör.

Apache Ivy Kurulumunu Doğrulama

Apache Ivy'nin bilgisayarınıza başarıyla kurulduğunu doğrulamak için aşağıdaki yapı dosyasını bir E:> ivy klasöründe oluşturun.

<project name="test ivy installation" 
   default="test" xmlns:ivy="antlib:org.apache.ivy.ant">
   <target name="test" description="Test ivy installation">
      <ivy:settings />
   </target>
</project>

Şuna benzer bir çıktı görmelisiniz -

C:\>ant
Buildfile: E:\ivy\build.xml
test:
BUILD SUCCESSFUL
Total time: 2 seconds

Eclipse'i Yükleme

Bu eğitim, Ant ile Eclipse IDE'nin entegrasyonunu da kapsar. Bu nedenle, Eclipse'i henüz yüklemediyseniz, lütfen Eclipse'i indirin ve yükleyin

Eclipse'i yüklemek için -

  • En son Eclipse ikili dosyalarını www.eclipse.org adresinden indirin

  • Eclipse ikili dosyalarını uygun bir konuma açın, örneğin c: \ klasörü

  • Eclipse'i c: \ eclipse \ eclipse.exe'den çalıştırın

Ivy terminolojisini anlamak için aşağıdaki örnek ivy.xml'yi düşünün.

<?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="ivy-test" status="integration">
   </info>
   <dependencies>
      <dependency org="commons-lang" name="commons-lang" rev="2.6" />
   </dependencies>
</ivy-module>

Ivy Şartları

Ivy Eco-System'ın önemli şartları aşağıdadır.

  • Organisation- Adından da anlaşılacağı gibi, projeyi veya kitaplığı oluşturan şirketin adını, bireysel geliştiriciyi veya ekip adını ifade eder. Örneğin, com.tutorialspoint.

  • Module- Adından da anlaşılacağı gibi, yeniden kullanılabilir ünite veya modülü ifade eder. Bir modül genellikle kendisine eklenmiş bir versiyona sahiptir. Örneğin ortak dil veya sarmaşık testi vb.

  • Module Descriptor- Modül tanımlayıcı, bir modülü tanımlayan ivy.xml dosyasını ifade eder. Bir modül tanımlayıcı, tanımlayıcıyı (kuruluş, ad, şube ve sürüm), yayınlanan yapıları, yapılandırmaları ve bağımlılıkları içerir.

  • Artifact- Artefakt, teslim edilebilir olarak tek bir dosyayı ifade eder. Örneğin, bir jar dosyası. Artefakt şu türde olabilir: zip, gz vb. Jar, Source Jar, Javadoc Jar, bir modülün çeşitli artefaktlarıdır.

  • Type - Tür, jar, war, src, doc vb. Gibi yapı kategorisini tanımlar.

  • Artifact file name extension - .jar, zip, .gz vb. Artefakt uzantıları

  • Module Revision - Modülün benzersiz bir revizyon numarası veya sürüm numarası.

  • Status of Revision- Revizyon durumu, revizyonun kararlılığını gösterir. Durumun önemli değeri aşağıdadır -

    • integration - Sürekli gelişmeyi, gecelik yapıları vs. temsil eder.

    • milestone - Bir dağıtımı temsil eder ancak kesinleşmemiştir.

    • release - Test edilmiş ve tamamlanmış bir ana sürümü temsil eder.

  • Repository - Maven depolarına benzer şekilde, depo, sarmaşıkların bir kitaplığı, eserleri, modülleri vb. Arayabileceği bir dağıtım sitesini temsil eder. Bir depo, genel, özel veya paylaşımlı olabilir.

  • Ivy Settings- Apache Ivy, Maven ilkelerine uyar ve birçok varsayılan yapılandırmayla birlikte gelir. Varsayılan ayarlar, bir ivysettings.xml dosyası tanımlanarak geçersiz kılınabilir.

Apache Ivy, Maven ilkelerine uyar ve birçok varsayılan yapılandırmayla birlikte gelir. Varsayılan ayarlar, bir ivysettings.xml dosyası tanımlanarak geçersiz kılınabilir.

<ivysettings>
	<properties file="${ivy.settings.dir}/ivysettings-file.properties" /> <settings defaultCache="${cache.dir}" defaultResolver="ibiblio" checkUpToDate="false" />
	<resolvers>
		<ibiblio name="ibiblio" />
		<filesystem name="internal">
			<ivy pattern="${repository.dir}/[module]/ivy-[revision].xml" /> <artifact pattern="${repository.dir}/[module]/[artifact]-[revision].[ext]" />
		</filesystem>
	</resolvers>
	<modules>
		<module organisation="tutorialspoint" name=".*" resolver="internal" />
	</modules>
</ivysettings>

Ivy Settings Dosyasının Etiketleri

Ivy Setting dosyasının önemli etiketleri aşağıdadır.

  • property- Bir sarmaşık değişkeni ayarlamak için. Kardinalite: 0..n

  • properties- Özellikler dosyasını kullanarak sarmaşık değişkenleri ayarlamak için. Kardinalite: 0..n

  • settings- Sarmaşık varsayılan değerlerle yapılandırmak için. Kardinalite: 0..1

  • include- Başka bir ayar dosyası eklemek için. Kardinalite: 0..n

  • classpath- Eklentileri yüklemek için kullanılan sınıf yoluna bir konum eklemek için. Kardinalite: 0..n

  • typedef- Sarmaşıkta yeni türleri tanımlamak. Kardinalite: 0..n

  • lock-strategies- Kilit stratejilerini tanımlamak. Kardinalite: 0..1

  • caches- Depo önbellek yöneticilerini tanımlamak için. Kardinalite: 0..1

  • latest-strategies- En son stratejileri belirlemek. Kardinalite: 0..1

  • parsers- Modül tanımlayıcı ayrıştırıcılarını tanımlamak için. Kardinalite: 0..1

  • version-matchers- Yeni sürüm eşleştiricileri tanımlamak için. Kardinalite: 0..1

  • triggers- Ivy olaylarında tetikleyicileri kaydetmek için. Kardinalite: 0..1

  • namespaces- Yeni ad alanları tanımlamak için. Kardinalite: 0..1

  • macrodef- Yeni bir makro çözücü tanımlamak için. Kardinalite: 0..n

  • resolvers- Bağımlılık çözümleyicilerini tanımlamak için. Kardinalite: 0..1

  • conflict-managers- Çatışma yöneticilerini tanımlamak için. Kardinalite: 0..1

  • modules- Modüller ve bağımlılık çözücüler arasında kurallar tanımlamak için. Kardinalite: 0..1

  • outputters- Kullanılabilir rapor çıktılarının listesini tanımlamak için. Kardinalite: 0..1

  • statuses- Mevcut durumların listesini tanımlamak için. Kardinalite: 0..1

IvyDE, Apache tarafından sağlanan bir Eclipse eklentisidir. IvyDE'yi yüklemek için Eclipse'i başlatın ve Yardım> Yeni Yazılım Kur'a gidin. Mevcut Yazılımlar penceresini görüntüler. IvyDE güncelleme sitesine girin http://www.apache.org/dist/ant/ivyde/updatesite/girin ve enter tuşuna basın. Aşağıdaki eklentileri görüntüler.

İleri'ye tıklayın ve aşağıdaki ekranı göreceksiniz.

Eklentiyi yüklerken herhangi bir hatayla karşılaşırsanız, işlemi yeniden başlatmanız yeterlidir. Başarılı bir kurulumdan sonra, eklentiyi tutulmada göreceksiniz.

Artık bağımlılık yönetimini Eclipse ve Ivy kullanarak yapabilirsiniz.

Çö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>

Çıkışı Çö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ı, indirilen yapı 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.

Kurulum görevi, bir modülü ve onun bağımlılıklarını bir çözümleyiciye kurmak için kullanılır. Herkese açık bir yapı indirilip özel depoda kullanılacaksa kullanılır. Varsayılan olarak, bir kullanıcı yerel deposu kendi özel deposudur ve $ {ivy.default.ivy.user.dir} / local dizininde mevcuttur.

IVY - Görev Çözme bölümünde açıklandığı gibi Tester.java, build.xml ve ivy.xml oluşturalım .

Ivy yükleme görevini kullanmak için build.xml dosyasını güncelleyin.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name="install" description="install dependencies">
      <ivy:install organisation="commons-lang" module="commons-lang" 
         revision="2.6" transitive="true" overwrite="false" 
         from="public" to="local" />
   </target>
</project>

Aşağıdakiler önemli terimlerdir.

  • organisation - kuruluşun adı.

  • module - projenin modül adı.

  • revision - projenin versiyonu.

  • from - depo türünden.

  • to - depo türüne.

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 install

Ivy harekete geçecek, bağımlılıkları çözecek, aşağıdaki sonucu göreceksiniz.

E:\ivy > ant install
Buildfile: E:\ivy\build.xml
install:
[ivy:install] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy
/ ::
[ivy:install] :: 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:install] :: installing commons-lang#commons-lang;2.6 ::
[ivy:install] :: resolving dependencies ::
[ivy:install]   found commons-lang#commons-lang;2.6 in public
[ivy:install]   found junit#junit;3.8.1 in public
[ivy:install] :: downloading artifacts to cache ::
[ivy:install] :: installing in local ::
[ivy:install]   published commons-lang to C:\Users\Acer\.ivy2\local\commons-lang
\commons-lang\2.6.part\sources\commons-lang.jar
[ivy:install]   published commons-lang to C:\Users\Acer\.ivy2\local\commons-lang
\commons-lang\2.6.part\jars\commons-lang.jar
[ivy:install]   published commons-lang to C:\Users\Acer\.ivy2\local\commons-lang
\commons-lang\2.6.part\javadocs\commons-lang.jar
[ivy:install]   published ivy to C:\Users\Acer\.ivy2\local\commons-lang\commons-
lang\2.6.part\ivys\ivy.xml
[ivy:install]   publish committed: moved C:\Users\Acer\.ivy2\local\commons-lang\
commons-lang\2.6.part
[ivy:install]           to C:\Users\Acer\.ivy2\local\commons-lang\commons-lang\2
.6
[ivy:install]   published junit to C:\Users\Acer\.ivy2\local\junit\junit\3.8.1.p
art\jars\junit.jar
[ivy:install]   published ivy to C:\Users\Acer\.ivy2\local\junit\junit\3.8.1.par
t\ivys\ivy.xml
[ivy:install]   publish committed: moved C:\Users\Acer\.ivy2\local\junit\junit\3
.8.1.part
[ivy:install]           to C:\Users\Acer\.ivy2\local\junit\junit\3.8.1
[ivy:install] :: install resolution report ::
[ivy:install] :: resolution report :: resolve 0ms :: artifacts dl 21ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   2   |   0   |   0   |   0   ||   4   |   0   |
      ---------------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 43 seconds

İndirilen dosyaları ivy cache'nin varsayılan yerel depo konumunda doğrulayabilirsiniz. ${ivy.default.ivy.user.dir} > .ivy2 > local dizin.

retrieve task, proje çalışma alanında belirli bir konuma bağımlılıkları çözmek için kullanılır.

IVY - Görev Çözme bölümünde açıklandığı gibi Tester.java, build.xml ve ivy.xml oluşturalım .

Ivy alma görevini kullanmak için build.xml dosyasını güncelleyin.

build.xml

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

Aşağıdakiler önemli terimlerdir.

  • sync - sync true, lib dizininin güncel olduğundan ve fazladan dosyaların silindiğinden emin olun.

  • type- type, ivy'yi kavanoz gibi yalnızca belirli türdeki artefaktları kopyalamaya yönlendirir. Kaynak kavanoz, javadoc kavanozu dikkate alınmayacaktır. kaynak jar için tür src veya kaynak ve javadoc jar için belge veya paket şeklindedir.

geri alma görevleri varsayılan olarak projenin lib dizinindeki çözümlenmiş bağımlılıkları kopyalar ve şablon özelliği kullanılarak değiştirilebilir.

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 316ms :: artifacts dl 18ms
      ---------------------------------------------------------------------
      |                  |            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/2756ms)
BUILD SUCCESSFUL
Total time: 31 seconds

İndirilen dosyaları proje lib dizininde doğrulayabilirsiniz.

önbellek görevi, önbellekte bulunan çözümlenmiş yapılarla bir ANT sınıf yolu oluşturmak için kullanılır. ANT, java dosyalarını derlemek için kavanozların sınıf yolu olması gerektiğinden, Ivy cachepath sınıf yolunu oluşturur.

IVY - Görev Çözme bölümünde açıklandığı gibi Tester.java, build.xml ve ivy.xml oluşturalım .

Ivy alma görevini kullanmak için build.xml dosyasını güncelleyin.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
      <ivy:cachepath pathid="new.classpath" />
   </target>
   <target name="compile" depends="resolve" description="Compile">
      <mkdir dir="build/classes" />
      <javac srcdir="src" destdir="build/classes">
         <classpath refid="new.classpath" />
      </javac>
   </target>
</project>

Aşağıdakiler önemli terimlerdir.

  • pathid - önbelleğe alınmış kavanozların bulunduğu sınıf yolunun kimliği.

geri alma görevleri varsayılan olarak projenin lib dizinindeki çözümlenmiş bağımlılıkları kopyalar ve şablon özelliği kullanılarak değiştirilebilir.

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 compile

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 2314ms :: artifacts dl 15ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   2   |   2   |   0   |   0   ||   4   |   0   |
      ---------------------------------------------------------------------
compile:
   [javac] E:\ivy\build.xml:13: warning: 'includeantruntime' was not set, defau
lting to build.sysclasspath=last; set to false for repeatable builds
   [javac] Compiling 1 source file to E:\ivy\build\classes
BUILD SUCCESSFUL
Total time: 3 seconds

Derlenen sınıf dosyasını proje oluşturma dizininde doğrulayabilirsiniz.

yayınlama görevi, mevcut yapıları ve çözümlenen tanımlayıcı dosyalarını söz konusu depoda yayınlamak için kullanılır.

IVY - Görev Çözme bölümünde açıklandığı gibi Tester.java, build.xml ve ivy.xml oluşturalım .

Ivy yayınlama görevini kullanmak için build.xml dosyasını güncelleyin. Önce bir jar dosyası oluşturup sonra yayınlayacağız.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name = "build.dir" value = "build"/>
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name = "jar">
      <jar destfile = "${build.dir}/lib/application.jar"
         basedir = "${build.dir}/classes"> <manifest> <attribute name = "Main-Class" value = "com.tutorialspoint.Application"/> </manifest> </jar> </target> <target name="publish" depends="jar"> <ivy:resolve /> <ivy:publish resolver="local" pubrevision="1.0" overwrite="true"> <artifacts pattern="${build.dir}/lib/[artifact].[ext]" />
      </ivy:publish>   
   </target>
</project>

Aşağıdakiler önemli terimlerdir.

  • resolver - yayın için kullanılacak çözücü.

  • pattern - yapıyı bulmak için desen.

Burada yayınlama görevi önce jar'i oluşturun, ardından bağımlılıkları çözün, bilgileri ayarlayın ve ardından yapıyı yerel depoda yayınlayın.

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 publish

Ivy harekete geçecek, bağımlılıkları çözecek, aşağıdaki sonucu göreceksiniz.

E:\ivy > ant publish
Buildfile: E:\ivy\build.xml
jar:
publish:
[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;1.0.0
[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 121ms :: artifacts dl 15ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   2   |   2   |   0   |   0   ||   4   |   0   |
      ---------------------------------------------------------------------
[ivy:publish] :: publishing :: com.tutorialspoint#test
[ivy:publish]   published application to C:\Users\Acer\.ivy2\local\com.tutorials
point\test\1.0\jars\application.jar
[ivy:publish]   published ivy to C:\Users\Acer\.ivy2\local\com.tutorialspoint\te
st\1.0\ivys\ivy.xml
BUILD SUCCESSFUL
Total time: 1 second

Yerel depodaki yayın sarmaşık yapıtlarını doğrulayabilirsiniz.

info task, bir dosyada sarmaşığa özgü bilgileri ayarlamak için kullanılır ve herhangi bir bağımlılık çözünürlüğü olmadan kullanılabilir.

IVY - Görev Çözme bölümünde açıklandığı gibi Tester.java, build.xml ve ivy.xml oluşturalım .

Ivy yayınlama görevini kullanmak için build.xml dosyasını güncelleyin. Önce bir jar dosyası oluşturup sonra yayınlayacağız. Görevi yayınlamadan önce, gerekli sarmaşık bilgilerini bilgi görevini kullanarak ayarladık.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name = "build.dir" value = "build"/>
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name = "jar">
      <jar destfile = "${build.dir}/lib/application.jar" basedir = "${build.dir}/classes">      
         <manifest>
            <attribute name = "Main-Class" value = "com.tutorialspoint.Application"/>
         </manifest>
      </jar>
   </target>
   <target name="publish" depends="jar">
      <ivy:info file="ivy.xml" />
      <ivy:publish resolver="local" pubrevision="1.0" overwrite="true">
         <artifacts pattern="${build.dir}/lib/[artifact].[ext]" />
      </ivy:publish>   
   </target>
</project>

Burada, görevi yayınla, önce kavanozu oluşturun, ardından bilgileri ivy: info görevini kullanarak ayarlayın ve ardından yapıyı yerel depoda yayınlayın.

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 publish

Ivy harekete geçecek, bağımlılıkları çözecek, aşağıdaki sonucu göreceksiniz.

Buildfile: E:\ivy\build.xml
jar:
publish:
 [ivy:info] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy/
::
 [ivy:info] :: loading settings :: url = jar:file:/E:/Apache/apache-ant-1.9.14/l
ib/ivy-2.5.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:publish] :: publishing :: com.tutorialspoint#test
[ivy:publish]   published application to C:\Users\Acer\.ivy2\local\com.tutorials
point\test\1.0\jars\application.jar
[ivy:publish]   published ivy to C:\Users\Acer\.ivy2\local\com.tutorialspoint\te
st\1.0\ivys\ivy.xml
BUILD SUCCESSFUL
Total time: 0 seconds

Bilgi görevini koymazsak, yayınlama görevi çalışmayacaktır. Aşağıdaki değiştirilmiş build.xml dosyasını kullanın ve eksik organizasyon özniteliğine ilişkin hataya bakın ve benzeri.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name = "build.dir" value = "build"/>
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name = "jar">
      <jar destfile = "${build.dir}/lib/application.jar"
         basedir = "${build.dir}/classes"> <manifest> <attribute name = "Main-Class" value = "com.tutorialspoint.Application"/> </manifest> </jar> </target> <target name="publish" depends="jar"> <ivy:publish resolver="local" pubrevision="1.0" overwrite="true"> <artifacts pattern="${build.dir}/lib/[artifact].[ext]" />
      </ivy:publish>   
   </target>
</project>

Şu yöne rotayı ayarla E: > ivy klasörüne gidin ve ant komutunu çalıştırın.

E:\ivy > ant publish

Ivy harekete geçecek, bağımlılıkları çözecek, aşağıdaki sonucu göreceksiniz.

Buildfile: E:\ivy\build.xml
jar:
publish:
[ivy:publish] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy
/ ::
[ivy:publish] :: 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
BUILD FAILED
E:\ivy\build.xml:28: no organisation provided for ivy publish task: It can eithe
r be set explicitly via the attribute 'organisation' or via 'ivy.organisation' p
roperty or a prior call to <resolve/>
Total time: 3 seconds

Çözümleyiciler, bir kitaplığın indirileceği konumların bulunması için kullanılır. Bir bağımlılık çözümleyici aynı zamanda ortak görevleri de yerine getirir. Ivy iki tür Çözümleyici sağlar.

  • Composite - Görevlerini yerine getirmek için diğer çözümleyicileri kullanan bir çözümleyici.

  • Standard - Bir çözümleyici gerekli görevleri gerçekleştirir.

Standart Çözücüler

Aşağıdaki tablo standart çözücüler ve kullanımlarını listeler.

Sr.No. İsim (Tip) & Açıklama
1

IvyRep (Standard)

Ivy dosyalarını sarmaşık üzerinde ve eserleri ibiblio'da bulur.
2

IBiblio (Standard)

İbiblio'daki eserleri bulur.
3

BinTray (Standard)

Artefaktları bintray üzerinde bulur.
4

Packager (Standard)

Ivy dosyalarını ve paketleme talimatlarını URL'ler aracılığıyla bulur, talimatları kullanarak yapılar oluşturur.
5

FileSystem (Standard)

Yerel dosya sistemindeki Ivy dosyalarını ve yapıları bulur.
6

URL (Standard)

URL'ler kullanılarak erişilebilen havuzlardaki Ivy dosyalarını ve yapıları bulur.
7

MirroredURL (Standard)

Bir yansıtma listesinden URL'ler kullanılarak erişilebilen havuzlardaki Ivy dosyalarını ve yapıları bulur.
8

VFS (Standard)

Depolarda Apache Commons VFS kullanılarak erişilebilen Ivy dosyalarını ve yapıları bulur.
9

SSH (Standard)

SSH kullanılarak erişilebilen havuzlardaki Ivy dosyalarını ve yapıları bulur.
10

SFTP (Standard)

SFTP kullanılarak erişilebilen havuzlardaki Ivy dosyalarını ve yapıları bulur.
11

Jar (Standard)

Bir kavanoz içindeki havuzlardaki Ivy dosyalarını ve yapıları bulur.
12

Chain (Composite)

Aramayı bir alt çözücüler zincirine delege eder.
13

Dual (Composite)

Aramayı bir çözümleyiciye ve yapay nesneleri diğerine devreder.
14

OBR (Standard)

Modülleri, OSGi obr.xml tarafından listelenen OSGi paketleri olarak çözün.
15

Eclipse updatesite (Standard)

Eclipse güncelleme sitesinde barındırılan modülleri OSGi paketleri olarak çözün.
16

OSGi-agg (Composite)

Aramayı OSGi paketlerini destekleyen bir alt çözücüler zincirine delege eder.

Altında yeni bir projede Tester.java, build.xml ve ivy.xml oluşturalım. E: > ivy2IVY - Görevi Çöz bölümünde açıklandığı gibi bir klasör . Altında bir ayarlar klasörü oluşturunE: > ivy2. İvysettings.xml dosyasını ayarlar klasöründe oluşturun.

build.xml

<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name = "build.dir" value = "build"/>
   <property name = "base.dir" value = ""/>
   <target name="resolve" description="resolve dependencies">
      <ivy:resolve />
   </target>
   <target name="compile" depends="resolve" description="Compile">
      <mkdir dir="build/classes" />
      <javac srcdir="src" destdir="build/classes">
         <classpath refid="new.classpath" />
      </javac>
   </target>
</project>

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="org.apache" module="chained-resolvers"/>
   <dependencies>
      <dependency org="commons-lang" name="commons-lang" rev="2.6" conf="default"/>
      <dependency org="com.tutorialspoint" name="test" rev="1.0"/>
   </dependencies>
</ivy-module>

Burada, IVY - Yayınlama Görevi bölümünde yayınladığımız iki bağımlılık ekledik, biri ortak kitaplık ve diğeri test olarak .

ivysettings.xml

<ivysettings>
   <settings defaultResolver="multiresolver"/>
   <resolvers>
      <chain name="multiresolver">
         <filesystem name="libraries">
            <artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision].[ext]"/>
         </filesystem>
         <ibiblio name="ibiblio" m2compatible="true"/>
      </chain>
   </resolvers>
</ivysettings>

Buraya, iki çözümleyiciye sahip zincir çözümleyiciyi kullanan bir bileşik çözümleyici ekledik, biri yerel depoda libarileri bulmak için adlandırılmış kitaplık ve diğeri maven genel deposunda ibiblio adlandırılmış.

Projeyi inşa etmek

Tüm dosyalar hazır olduğu için. Sadece konsola git. Şu yöne rotayı ayarlaE: > ivy2 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:\ivy2\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 :: org.apache#chained-resolvers;working@
Acer-PC
[ivy:resolve]   confs: [default]
[ivy:resolve]   found commons-lang#commons-lang;2.6 in public
[ivy:resolve]   found com.tutorialspoint#test;1.0 in local
[ivy:resolve]   found junit#junit;3.8.1 in public
[ivy:resolve] downloading C:\Users\Acer\.ivy2\local\com.tutorialspoint\test\1.0\
jars\application.jar ...
[ivy:resolve] .. (1kB)
[ivy:resolve] .. (0kB)
[ivy:resolve]   [SUCCESSFUL ] com.tutorialspoint#test;1.0!application.jar (13ms)
[ivy:resolve] :: resolution report :: resolve 1085ms :: artifacts dl 22ms
      ---------------------------------------------------------------------
      |                  |            modules            ||   artifacts   |
      |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
      ---------------------------------------------------------------------
      |      default     |   3   |   3   |   1   |   0   ||   5   |   1   |
      ---------------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 9 seconds

Günlüklerde hem yerel hem de genel depo çözümleyicilerini kullandığımızı doğrulayabilirsiniz.

Yerel bir depo, bir kullanıcının özel bir deposudur. Bir kullanıcının başka yerlerde sürümü değiştirilmiş ve önemli değişiklikler yapılmış bir kitaplık kullanması durumunda çok kullanışlıdır. Yerel depo olması durumunda ivy, bulunursa yerelde bulunan kitaplığı kullanacak ve genel veya paylaşılan depolara bakmayacaktır.

Varsayılan konum

Varsayılan olarak, yerel depo $ {ivy.default.ivy.user.dir} / local klasöründe mevcuttur. Değiştirmek isterseniz, ant dosyasındaki ivy.local.default.root değişkenini kullanın.

build.xml

<target name="resolve">
   <property name="ivy.local.default.root" value="/opt/ivy/repository/local"/>
   <ivy:resolve />
</target>

Sarmaşık deseni ve yapay desen gibi diğer özellikler de aşağıdaki gibi özelleştirilebilir -

build.xml

<target name="resolve">
   <property name="ivy.local.default.root" value="/opt/ivy/repository/local"/>
   <property name="ivy.local.default.ivy.pattern" value="[module]/[revision]/ivy.xml"/>
   <property name="ivy.local.default.artifact.pattern" value="[module]/[revision]/[artifact].[ext]"/>
   <ivy:resolve />
</target>

İvysettings varsayılanlarını geçersiz kılma

Varsayılan olarak, ivy'nin yapılandırmaları ivysettings.xml'de ivy.jar'da bulunur.

ivysettings.xml

<ivysettings>
   <settings defaultResolver="default"/>
   <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>

Yerel depo ayarını geçersiz kılmak için ivysettings-local.xml içeriğini güncelleyin.

ivysettings-local.xml

<ivysettings>
   <property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local" override="false"/>
   <property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
   <property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
   <resolvers>
      <filesystem name="local">
         <ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
         <artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
      </filesystem>
   </resolvers>
</ivysettings>

Paylaşılan bir havuz, bir ekibin ekip düzeyinde paylaşılan bir deposudur. Organizasyonlarda geçersiz kılınması çok yaygındır.

Varsayılan konum

Varsayılan olarak, paylaşılan depo $ {ivy.default.ivy.user.dir} / paylaşılan klasörde mevcuttur. Değiştirmek isterseniz, ant dosyasındaki ivy.shared.default.root değişkenini kullanın.

build.xml

<target name="resolve">
   <property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
   <ivy:resolve />
</target>

Sarmaşık deseni ve yapay desen gibi diğer özellikler de aşağıdaki gibi özelleştirilebilir -

build.xml

<target name="resolve">
   <property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
   <property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/ivy.xml"/>
   <property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[artifact].[ext]"/>
   <ivy:resolve />
</target>

İvysettings varsayılanlarını geçersiz kılma

Varsayılan olarak, ivy'nin yapılandırmaları ivysettings.xml'de ivy.jar'da bulunur.

ivysettings.xml

<ivysettings>
   <settings defaultResolver="default"/>
   <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>

Paylaşılan depo ayarını geçersiz kılmak için ivysettings-shared.xml'nin içeriğini güncelleyin.

ivysettings-shared.xml

<ivysettings>
   <property name="ivy.shared.default.root" value="${ivy.default.ivy.user.dir}/shared" override="false"/> <property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> <property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> <resolvers> <filesystem name="shared"> <ivy pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" /> <artifact pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}" />
      </filesystem>
   </resolvers>
</ivysettings>

Genel bir havuz, internet üzerinden erişilebilen ve üçüncü taraf modülleri olan bir havuzdur. Varsayılan olarak m2 uyumlu modda ibiblio genel havuzdur. Aynı zamanda maven 2 genel deposu olarak da anılır.

İvysettings varsayılanlarını geçersiz kılma

Varsayılan olarak, ivy'nin yapılandırmaları ivysettings.xml'de ivy.jar'da bulunur.

ivysettings.xml

<ivysettings>
   <settings defaultResolver="default"/>
   <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>

Genel depo ayarını geçersiz kılmak için ivysettings-public.xml içeriğini güncelleyin veya projenizin ayar klasöründe ivysettings.xml dosyasını oluşturun.

ivysettings.xml

<ivysettings>
   <settings defaultResolver="default"/>
   <include url="http://customserver/ivy/ivysettings-public.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
   <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/> <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>

Varsayılan ivysetting-public.xml içeriğini güncelleyin.

Original - ivysetting-public.xml

<ivysettings>
   <resolvers>
      <ibiblio name="public" m2compatible="true"/>
   </resolvers>
</ivysettings>

Updated - ivysetting-public.xml

<ivysettings>
   <resolvers>
      <filesystem name="public">
         <ivy pattern="/path/to/my/public/rep/[organisation]/[module]/ivy-[revision].xml" />
         <artifact pattern="/path/to/my/public/rep/[organisation]/[module]/[artifact]-[revision].[ext]" />
      </filesystem>
   </resolvers>
</ivysettings>