質問
Mavenのmirror / mirrorOfのようなものをIvyで指定する方法を知っている人はいますか?ローカルMavenプロキシ(Nexus)を使用しており、Nexusプロキシがアクセスする親リポジトリを指定するツールが必要です。
Mavenでは単純に次のことを行います。
<mirrors>
<mirror>
<id>central-mirror</id>
<mirrorOf>central</mirrorOf>
<url>http://localhost:8081/content/repositories/central</url>
</mirror>
</mirrors>
しかし、Ivyにはこの種のオプションはありません。
他のヒント
必要な処理を行うパブリックリゾルバを作成する必要があります(詳細は@ Ivyドキュメント)
基本的に次のスニペットを$ 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をロードする場合、これらの設定はロードされず、再びゼロに戻ります:(
これは私がそれを機能させた方法です(@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リポジトリから依存関係を解決できるようになりました。
私は同じことをしましたが、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>
ArchivaはMaven 2リポジトリ(Mavenメタデータを含むアーティファクト)を管理します 通常、Ivyメタデータ(ivy.xml)はありません。 また、Maven 2のレイアウトは[組織] / [モジュール] / [リビジョン] / [アーティファクト]-[リビジョン]。[拡張子]です。
次の情報を提供するだけです
<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>
所属していません StackOverflow