4

pomを使用せずにmavenリポジトリからアーティファクトをプルダウンするために使用できるmvn(mavenディストリビューションに含まれるバイナリ)ではないmavenクライアントはありますか? 運用チームがビルド (ビルドのスナップショットを含む) を取得するためのレポとして Maven リポジトリを使用したいのですが、pom の作成とそれらの依存関係の宣言に煩わされる必要はありません。理想的には、レポ URL を渡して特定のアーティファクトを調整してダウンロードできる cli クライアントだけを探しています。そのようなものは存在しますか、それとも 1 回限りのスクリプトを作成したほうがよいでしょうか?

4

6 に答える 6

8

3 つの簡単なオプションが表示されます。

  1. リポジトリ内のアーティファクトへのリンクを送信して、ブラウザを使用してもらうだけです。
  2. インストールして使用しますwget( wget http://path/to/artifact.extension)。
  3. インストールして使用しますmvn dependency:get( が必要ですmvnが、必須ではありません。詳細については、この回答pom.xmlを参照してください)。
于 2009-12-10T12:53:46.857 に答える
4

ネクサスを使用。他のチームがアーティファクトをダウンロードするために使用できる Web インターフェイスを提供します。http://nexus.sonatype.org/

于 2009-05-19T22:52:28.617 に答える
3

Maven エンベダーを使用し ます。さらに言えば、jar の解決とダウンロードには Maven エンベダー内の機能を使用します。簡単な CLI を作成しようとしている場合でも、リポジトリ構造は複雑ではなく、maven リポジトリ URL、アーティファクト ID、グループ ID、およびバージョンを取得して jar への完全な URL を生成するスクリプトを簡単に作成できます。

于 2009-05-19T20:25:02.517 に答える
1

これは、jcabi-aetherで行う方法です:

final File repo = this.session.getLocalRepository().getBasedir();
final Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
  new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
  JavaScopes.RUNTIME
);

このライブラリに提供する必要があるのは、1) リモート リポジトリのリスト、2) ローカル リポジトリの場所、3) アーティファクトの Maven 座標だけです。ライブラリは、Sonatype のApache Aetherを使用します。

于 2012-10-28T12:35:00.343 に答える
0

技術的には、リポジトリは HTTP 経由でアクセスされるため、リポジトリの場所、アーティファクト、および座標が与えられれば、運用チームにどのブラウザでもアクセスできるアーティファクトへの URL を与えることができるはずです。

于 2009-05-20T03:38:14.773 に答える
0

次のようにプレーン URL を使用して Maven アーティファクトを参照できるPax URLについて考えてみます。

mvn:groupId/artifactId/バージョン

詳細については、 PAX URL Web サイトを参照してください (MVN プロトコル ハンドラー)。

トニ

于 2009-12-10T11:28:38.763 に答える