latest.integrationがどのように機能するかを理解するのに問題があります。
http://ant.apache.org/ivy/history/latest-milestone/tutorial/defaultconf.htmlに記載されている出力を提供していない例があります。
つまり、公開の時間に関係なく、ローカルリゾルバーは他のリゾルバーよりも優先されます。
私のivysettings.xmlは次のようになります。
<resolvers>
<chain name="download-chain" returnFirst="false" >
<url name="nexus-repo" m2compatible="true" >
<artifact pattern="${nexus}/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]" />
<ivy pattern="${nexus}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
</url>
<resolver ref="local" />
</chain>
</resolvers>
ここで、ネクサスURLリポジトリとデフォルトのローカルへの参照があることを宣言します。依存関係を解決したいときにこのチェーンを使用します。
指定されたアーティファクトを作成し、最初にローカルリゾルバーを使用して、ステータスが「integration」でリビジョンが「HEAD」(SNAPSHOTのようなもの)でローカルに公開します。
<ivy:publish
overwrite="yes"
update="true"
artifactspattern="${project.dist.dir}/[artifact]-[revision](-[classifier]).[ext]"
resolver="local"
settingsRef="ivy.nexus"
/>
もう一度再構築して、nexusリポジトリに公開します。
<ivy:publish
overwrite="yes"
update="true"
artifactspattern="${project.dist.dir}/[artifact]-[revision](-[classifier]).[ext]"
resolver="publish-url"
forcedeliver="true"
settingsRef="ivy.nexus"
/>
以前のアーティファクトをリビジョン「latest.integration」の依存関係として宣言する別のプロジェクトがあります。
宣言されたリゾルバーの順序に関係なく、アーティファクトはローカルリポジトリからダウンロードする必要があると思います。しかし、そうではありません。ダウンロードされたアーティファクトは、常に最初に言及されたリゾルバーのものです。「ローカル」リゾルバーの名前を変更しても、何の影響もありませんでした。順序は常に重要です。
依存関係にchangeing="true"を追加してみました。それは役に立たなかった。
この質問の内容: アイビー:依存関係のためにローカルスナップショットを強制する
Askerは、さらに異なる動作、つまり最新のものが取得されることについて言及しています(リゾルバーの順序は重要ではありません)。
それで、それをまとめて、延長して申し訳ありません:アーティファクトを取得する方法:
1)場所に関係なく、常にlatest.integration(最新)。
2)他の場所に最新の統合バージョンがある場合でも、常にローカルから。
3)私は無知ですか?