常にアーティファクトのスナップショットバージョンの最新バージョンを返す単純なURLを提供したいと思います。簡単に言うと、URLが変更されないこと、またはユーザーがディレクトリを参照してタイムスタンプを調べることを要求しないことを意味します。
この回答はNexus 2.Xに関連していることに注意してください
コアNexus "redirect" REST API は、指定されたリポジトリから任意のバージョンのアーティファクトを取得するために使用できます。
例えば:
vパラメーターは1.0-SNAPSHOTのような値にできます。この場合、Mavenはリポジトリに保持されている最新のタイムスタンプ付きスナップショットを返します。同様に、より新しいリリースバージョンが存在しない場合、特別な値「LATEST」は同じことを行う必要があります。
スナップショットの最新バージョンを探している場合、たとえば「1.0-SNAPSHOT」と入力すると、そのアーティファクトのスナップショットの最新バージョンが返されます。
「最新バージョン」を探している場合、「v = LATEST」構文は機能しますが、このキーワードは、探しているスナップショットの最新バージョン、または完了したばかりのリリースを返すことができることに注意してください。または、同じアーティファクトのOTHERブランチで、バージョンが先で、まだ「-SNAPSHOT」にあるもの。
絶対最新のものを探しているなら、「v = LATEST」を使用してください。最新リリースを探している場合は、「v = RELEASE」を要求することもできます。リポジトリのグループがある場合、次のようなURLに追加することで、スナップショットリポジトリとリリースリポジトリの両方を参照できます。
「... v = RELEASE&r = public」
これは、すべての「グループ化された」リポジトリを検索する必要があります。
私のネクサスマシンでのすべての結果:
このようなものです:* -1.2.3-20131204.143026-1.Zip
動的な詳細を提供する必要があるため、直接アクセスすることはできません。
「... redirect?r = central-proxy&g = log4j&a = log4j&v = LATEST」の例は、ブラウザで開くと機能しますが、Linuxマシンからインストールする場合は機能しません。
/usr/share/elasticsearch/bin/plugin --url "http://localhost:8081/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=Zip" --install river-mongodb
だから私の一時的な解決策はwgetを使用しています:
wget -O /tmp/elasticsearch-river-mongodb.Zip "http://nexushost.domain/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=Zip"
次に、ローカルファイルから最新バージョンをインストールします。
すべてのリポジトリには独自のURLがあります(リポジトリブラウザで確認できます)。これを開くと、グループとアーティファクトIDを参照してアーティファクトにアクセスできます。これは、たとえば次のようなURLです: http://nexushost.domain/content/repositories/snapshots/com/example/group/artifact/1.2.3-SNAPSHOT/1.2.3-SNAPSHOT.jar =