Apache-ivy-resolvers

提供:Dev Guides
移動先:案内検索

Apache IVY-リゾルバー

リゾルバーは、ライブラリをダウンロードする場所を見つけるために使用されます。 依存関係リゾルバーは、一般的なタスクも処理します。 Ivyは2つのタイプのリゾルバーを提供します。

  • コンポジット-他のリゾルバを使用してタスクを実行するリゾルバ。
  • 標準-リゾルバが必要なタスクを実行します。

標準リゾルバー

次の表は、標準リゾルバーとその使用法を示しています。

Sr.No. Name (Type) & Description
1

IvyRep (Standard)

ivyrepでIvyファイルを検索し、ibiblioでアーティファクトを検索します。

2

IBiblio (Standard)

ibiblioでアーティファクトを検索します。

3

BinTray (Standard)

ビントレイ上のアーティファクトを探します。

4

Packager (Standard)

URLを介してIvyファイルとパッケージング手順を見つけ、手順を使用してアーティファクトを作成します。

5

FileSystem (Standard)

ローカルファイルシステム上のIvyファイルとアーティファクトを検索します。

6

URL (Standard)

URLを使用してアクセスできるリポジトリー上のIvyファイルおよび成果物を見つけます。

7

MirroredURL (Standard)

ミラーリストのURLを使用してアクセスできるリポジトリでIvyファイルとアーティファクトを検索します。

8

VFS (Standard)

Apache Commons VFSを使用してアクセスできるリポジトリー上のIvyファイルと成果物を見つけます。

9

SSH (Standard)

SSHを使用してアクセスできるリポジトリー上のIvyファイルと成果物を見つけます。

10

SFTP (Standard)

Svyを使用してアクセスできるリポジトリー上のIvyファイルと成果物を見つけます。

11

Jar (Standard)

jar内のリポジトリー上のIvyファイルと成果物を見つけます。

12

Chain (Composite)

検索をサブリゾルバーのチェーンに委任します。

13

Dual (Composite)

検索を1つのリゾルバーに、成果物を別のリゾルバーに委任します。

14

OBR (Standard)

OSGi obr.xmlにリストされているOSGiバンドルとしてモジュールを解決します。

15

Eclipse updatesite (Standard)

Eclipse更新サイトでホストされているOSGiバンドルとしてモジュールを解決します。

16

OSGi-agg (Composite)

OSGiバンドルをサポートするサブリゾルバーのチェーンに検索を委任します。

*E:> ivy2* フォルダーの下の新しいプロジェクトで、link:/apache_ivy/apache_ivy_resolve [IVY-Resolve Task]の章で説明されているのと同じように、Tester.java、build.xml、ivy.xmlを作成してみましょう。 *E:> ivy2* の下に設定フォルダーを作成します。 設定フォルダーにivysettings.xmlを作成します。
*_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.finddevguides" name="test" rev="1.0"/>
   </dependencies>
</ivy-module>

ここでは、2つの依存関係を追加しました。1つはcommons-langライブラリ、もう1つはテストとしてリンク:/apache_ivy/apache_ivy_publish [IVY-公開タスク]の章で公開しました。

*_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>

ここでは、2つのリゾルバーを持つチェーンリゾルバーを使用して作成された複合リゾルバーを追加しました。

プロジェクトを構築する

すべてのファイルの準備ができたので。 コンソールに行くだけです。 E:> ivy2 フォルダーに移動し、antコマンドを実行します。

E:\ivy > ant

Ivyが動作し、依存関係を解決すると、次の結果が表示されます。

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.finddevguides#test;1.0 in local
[ivy:resolve]   found junit#junit;3.8.1 in public
[ivy:resolve] downloading C:\Users\Acer\.ivy2\local\com.finddevguides\test\1.0\
jars\application.jar ...
[ivy:resolve] .. (1kB)
[ivy:resolve] .. (0kB)
[ivy:resolve]   [SUCCESSFUL ] com.finddevguides#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

ログで、ローカルとパブリックの両方のリポジトリリゾルバを使用したことを確認できます。