11

Ivy で Maven の mirror/mirrOf のようなものを指定する方法を知っている人はいますか? 私はローカル Maven プロキシ (Nexus) を使用しており、Nexus プロキシがアクセスする親リポジトリを指定するツールが必要です。

Maven では、単純に次のようにします。

<mirrors>
  <mirror>
    <id>central-mirror</id>
    <mirrorOf>central</mirrorOf>
    <url>http://localhost:8081/content/repositories/central</url>
  </mirror>
</mirrors>

しかし、Ivy ではこの種のオプションを見つけることができません。

4

5 に答える 5

8

必要なことを実行するパブリックリゾルバーを作成する必要があります(詳細は@ Ivy docs

基本的に、次のスニペットを$ USERHOME / .ivy2/ivysettings-public.xmlに保存します。これでうまくいくはずです。

<ivysettings> 
  <resolvers> 
    <ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/> 
  </resolvers> 
</ivysettings>
  • 変更されていない標準インストールでは、URLに「nexus」が含まれています。
  • アーティファクトをデプロイする必要がある場合、解決策は共有リゾルバー(上記のドキュメントへのリンクを参照)と同様のことを行うことだと思いますが、私は試していません。
  • ローカルURLを変更して、標準の「content / groups / public」に解決しました。これは、上記のMaven設定フラグメントでは、中央への呼び出しだけでなく、すべての呼び出しをミラーを介して渡すためです。Nexus UIでそのグループにリポジトリを追加するだけで、問題がないはずです。
  • プロジェクトがデフォルトを尊重しない独自のivysettingsをロードした場合、これらの設定はロードされず、再びゼロに戻ります:(
于 2010-03-12T19:53:50.740 に答える
6

そのようなオプションが直接存在するとは思いません。chainを実装してみて、Nexus リポジトリをそのチェーンの中央の前に置くことができます。チェーンがどのように正しく機能するかを理解していれば (それは大きな if です)、Ivy はセントラルの前にリポジトリをチェックするので、リポジトリに関連するコンテンツがある限り、セントラルは必要ありません。

詳細については、チュートリアルを参照してください。

于 2009-07-08T16:26:56.330 に答える
2

これが私がそれを機能させた方法です(@Heronからの答えは私にとってはうまくいきませんでした):

次の内容でファイルを作成します。

<ivysettings>
  <settings defaultResolver="default"/>
  <property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" />
  <resolvers>
    <chain name="default">
        <ibiblio name="public" m2compatible="true" root="http://nexus-server:8081/nexus/content/groups/public"/>
    </chain>
  </resolvers>
</ivysettings>

ant ビルドから参照してください。

<ivy:settings file="/Users/wdb/.ivy2/ivysettings-public.xml" />

Ivy は、nexus リポジトリから依存関係を解決できるようになりました。

于 2013-03-25T15:41:06.840 に答える
-1

ArchivaはMaven2リポジトリー(Mavenメタデータを含むアーティファクト)を管理します。通常、Ivyメタデータ(ivy.xml)はありません。そして、Maven2のレイアウトは[組織]/[モジュール]/[リビジョン]/[アーティファクト]-[リビジョン]。[内線]です。

以下の情報を提供するだけです

<url name="archiva" m2compatible="true">
  <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
  </url>
</chain>

また

  <settings defaultResolver="archiva"/>
  <resolvers>
<ibiblio name="archiva" m2compatible="true" root="http://.../archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
  </resolvers>
于 2009-11-04T21:43:55.800 に答える
-1

私は同じことをしましたが、非常によく似た Archiva を使用しました。新しいチェーンで次のように宣言するだけです。

<chain name="private">
<url name="archiva" m2compatible="true">
  <ivy pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/ivy.xml" /> 
  <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
  <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact].[ext]" /> 
  </url>
</chain>
于 2009-10-06T15:30:36.560 に答える