4

リモートリポジトリとしてnexusでmaven 3.0を使用しています。すべてのアーティファクトの名前を知らなくても、maven を使用して同じ groupId を持つすべてのアーティファクトをダウンロードする方法はありますか? つまり、グループ ID を指定するだけで、リモート リポジトリからすべてのアーティファクトを自動的にダウンロードできますか?

たとえば、グループ com.example.here のすべてのアーティファクトをローカル リポジトリにダウンロードしたいとします。

<groupId>com.example.here</groupId>

アーティファクト:

<artifactId>a1</artifactId>
...
<artifactId>an</artifactId>

私が欲しいバージョンは最新です。

4

2 に答える 2

4

lftp (多くの UNIX ディストリビューションに含まれている必要があります)を使用して、Maven リポジトリの一部をミラーリングできます。リポジトリはグループ ID に基づいてサブディレクトリを使用するため、特定のグループに属するすべてのアーティファクトをフェッチするために使用できます。例えば

$ lftp https://repository.jboss.org/nexus/content/groups/public/apache-xalan/ -e 'mirror .'

apache-xalan groupId の下のすべてを取得します。

これは、すべての Maven リポジトリで機能するとは限りません。特定の深さのディレクトリ構造へのアクセスのみを許可するか、まったく許可しない場合もあります。

于 2014-01-31T13:32:14.757 に答える
0

maven の依存関係は groupId:artifactId:version:classifier (オプション) で参照する必要があるため、これを行うことはできません。

私が考えることができる 1 つの方法は、ダウンロードするすべてのプロジェクトに依存し、オプションで LATEST に設定されたバージョンを持つアセンブリ プロジェクトを作成することです。Maven アセンブリ プラグインを使用して、依存関係セットからアーカイブを作成できます。

于 2014-01-31T11:57:30.320 に答える