1

そのため、外部ソースからすべてを含めて依存関係の問題を解決する方法を見つけることができなかったので、ant / Ivy 統合のために Eclipse / IvyDE に目を向けました。

そうは言っても、私は通常、次のようなライブラリを含めます。

<dependency org="org.jsoup" name="jsoup" rev="1.6.3"/>

しかし、自分のイントラネットで何かを見たい場合はどうすればよいでしょうか?

たとえば、jar を保持しているフォルダーが次のような場所にある場合:

https://prdsvn01.company.intra.net/repo/libName/

lib.jar をフォルダーに含めたい。

私は、この Eclipse の実装で ivysettings.xml を比較的見つけることができませんでした。

誰かがこれで私を助けてくれますか?

4

1 に答える 1

2

次のアイビー設定ファイル:

<ivysettings>
    <settings defaultResolver="central"/>

    <resolvers>
        <ibiblio name="central" m2compatible="true"/>

        <url name="my-repo">
            <artifact pattern="http://myserver/myrepo/[organisation]/[artifact]/[revision]/[artifact].[ext]"/>
        </url>
    </resolvers>

    <modules>
        <module organisation="org.mycompany" resolver="my-repo"/>
    </modules>
</ivysettings>

デフォルトで Maven Central からアーティファクトを取得し、HTTP サーバーからローカル アーティファクトを取得するように構成されています。

アップデート

アイビー.xml

ivy ファイルには特別なものはありません。依存関係と、それらを関連付ける構成を宣言するだけです。

<configurations>
    <conf name="compile" description="Required to compile application"/>
</configurations>

<dependencies>
    <!-- compile dependencies -->
    <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" conf="compile->default"/>
    <dependency org="org.mycompany" name="my-module" rev="1.0" conf="compile->default"/>

</dependencies>

ノート:

  • 構成を使用するのはアイビーのベストプラクティスです。

build.xml

<target name="resolve" dependencies="Resolve build dependencies">
    <ivy:resolve/>

    <ivy:report todir='build/reports' graph='false' xml='false'/>

    <ivy:cachepath pathid="compile.path" conf="compile"/>
    ..  
</target>

ノート:

  • ivycachepath タスクは、ivy 構成を入力済みの ANT クラスパスに変換します。非常に便利。
  • アイビー レポート タスクは、クラスパス上の jar を通知します。

Ivy resolve ビルド出力

すべての魔法は設定ファイルにあります。ビルドを実行すると、次のようになります。

[ivy:resolve]   found org.slf4j#slf4j-api;1.6.4 in central
[ivy:resolve]   found org.mycompany#my-module;1.0 in my-repo
..
[ivy:resolve] downloading http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar ...
..
[ivy:resolve] downloading http://myserver/myrepo/org.mycompany/my-module/1.0/my-module.jar ...

ノート:

  • my-repoリゾルバーは、「org.mycompany」グループ ID を持つモジュールに使用されます。
  • それ以外はすべて、デフォルトのリゾルバーである Maven Central から取得されます。
于 2012-09-20T22:20:14.320 に答える