ネクサスは、複数のリポジトリの種類を持っています[この質問の範囲外の] maven1リポジトリのアダプタ)。 リポジトリグループを作成して、その集合体からアーティファクトを処理することもできます(public
リポジトリの1つです)。また
、ネクサスはスナップショットとリリースにその公開ポリシーに従ってそれらのリポジトリを分割します。前者はスナップショット成果物のみを格納します。後者は理論上はスナップショットとリリースの両方を保存できますが、リポジトリが非常に大きく、スナップショットが含まれていると、実際にはバグが発生します。あなたがする必要がある、あなたのアーティファクトをホストするために
:
まず:2にローカルリポジトリを分割:スナップショットを含むもの、およびリリースを含む別のものを。あなたのレポは非常に大きい場合はネクサスリポジトリconvertionツールがお手伝いします:
<dependency>
<groupId>org.sonatype.nexus.tools</groupId>
<artifactId>nexus-repository-conversion-tool</artifactId>
<version>1.8.0.1</version>
<classifier>cli</classifier>
</dependency>
一度Source
がネクサスに移動するローカルリポジトリを含むディレクトリで、Target
は、既存の、空であるところあなただけjava -jar nexus-repository-conversion-tool-1.8.0.1-cli.jar -rSource -oTarget
を実行することができdownlaoded変換ツールが分割されたリポジトリを離れる書き込み可能なディレクトリです。ソースディレクトリがrepository
で、ターゲットがtemp
の場合は、temp/repository-snapshots
とtemp/repository-releases
というディレクトリが作成されます。
第2の:あなたの分割レポをネクサスに移動します。 ${NEXUS_HOME}/sonatype-work/nexus/storage
に置くか、リポジトリを格納するようにnexusのインストールが設定されている場所に置いてください。
サード:あなたは第二段階に移動レポと同じIDを持つ2つのホストされたリポジトリを作成します。 (例ではrepository-snapshots
とrepository-releases
)
あなたのレポにはリリースのみが含まれていれば、あなたのソリューションはうまくいっているかもしれませんが、別の間違いを犯したでしょう。ネクサスはすべてのリポジトリの成果物を保存しますが、リポジトリをホストしていないリポジトリの格納はキャッシング目的にすぎません(public
リポジトリの場合のように)、コンテンツをホストされたリポジトリにコピーして作業する必要があります。
また、リポジトリでホストしているアーティファクトの種類も考慮する必要があります。 Nexusはリポジトリをスパンショットに分割し、スナップショット成果物やリリース+スナップショットをホストするかどうかに応じて解放します。それはシュートだけど – Miguel
ああ、あなたの答えは遅すぎる。あなたのアプローチは私に多くの時間を節約してくれたと思います。また、スナップショットを分離してアーティファクトをリリースし、手動で対応するNexusリポジトリに移動しました。私は何とかcliを使って各リリースのアーティファクトを展開しなければなりませんでした。スナップショットでは、Nexusキャッシュを再インデックスするだけで十分でした。ありがとう! – mamuesstack