0

この状況を管理する方法を理解しようとしています。3つのjar(a.jar、b.jar、c.jar)で構成されるサードパーティのライブラリ(best-lib)があり、それらのjarをにアップロードするとします。パーソナルArtifactoryサーバーである(best-lib)には、バージョン1.0と2.0の2つがあります。

ivy.xmlファイルに入れたいのは、たとえば、これらすべてのjarを一度に取得するための単一の依存関係です。

<dependencies>
    <dependency org="mycompany" name="best-lib" rev="1.0" />
</dependencies>

そして、この依存関係により、バージョン1.0の3つのjar(a、b、およびc)がすべて追加されるはずです。

質問は:

  1. これは可能ですか?
  2. この動作を実現するために、3つのjarファイルをアーティファクトにアップロードするにはどうすればよいですか?
  3. それらのjarファイルを一度にアップロードすることは可能ですか?
  4. 人工的な代替ソリューションも受け入れられます(例:NexusまたはArchivia)。

注:私はbest-libを構築していません。私はそのjarを持っているだけであり、best-libはパブリックmaven2リポジトリからダウンロードできるライブラリではありません。

ありがとう。

4

1 に答える 1

2

「best-lib」モジュールを公開するときは、モジュールによって公開される 3 つの jar をリストする ivy.xml ファイルを使用します。

<ivy-module version="2.0">
    <info organisation="mycompany" module="best-lib"/>

    <publications>
        <artifact name="a" type="jar"/>
        <artifact name="b" type="jar"/>
        <artifact name="c" type="jar"/>
    </publications>
    ..
    ..

このモジュールに対する依存関係を作成すると、ivy はこのモジュールに 3 つの jar があることを認識します。

Ivy モジュールを公開する方法の例については、以下を参照してください。

アップデート

3 つの jar が既にリポジトリにある場合は、他の 3 つを依存関係として参照するスタンドアロンの ivy モジュールを公開できます。

<ivy-module version="2.0">
    <info organisation="mycompany" module="best-lib" rev="1.0"/>

    <dependences>
       <dependency org="mycompany" name="a" rev="1.0" />
       <dependency org="mycompany" name="b" rev="1.0" />
       <dependency org="mycompany" name="c" rev="1.0" />
    </dependencies>

最後に、Artifactory リポジトリが使用している形式を教えていただく必要があるかもしれません....私はそれがアイビー リポジトリであると想定しています。Maven の場合、概念は同じですが、明らかにサーバー側では、ivy.xml ではなく pom.xml ファイルについて話します (Ivy は Maven リポジトリをサポートしています)。

于 2012-10-14T13:48:32.170 に答える