2009-05-19 7 views
4

mvn(mavenディストリビューションに含まれているバイナリ)ではないmavenクライアントがありますか?pomを使用せずにmavenリポジトリからアーティファクトをプルダウンするのに使用できますか?私は、opsチームのリポジトリとしてビルド( ビルドのスナップショットを含む)をピックアップするためにmavenリポジトリを使用したいと思いますが、それらにpomsを書き込んで依存関係を宣言する必要はありません。理想的には、私はちょうど私がrepoのURLに渡すことができ、指定された人工物を調整してダウンロードすることができるcliクライアントを探しています。このようなことが存在するのですか、これについて一度だけのスクリプトを書いたほうがいいですか?mvn/pomsなしでmavenリポジトリから成果物をダウンロードするユーティリティ

+0

これはapi whaleyがhttp://nexus.sonatype.org/nexus-faq.html#25を参照していると思います。 –

答えて

4

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

+0

私は既にNexusを使用していましたが、私はちょうどNexusをベースにした座標上にある。昨日ネクサスの開発者の1人が自分のIRCチャンネルでそれを知らせてくれました。答えに感謝します。 – whaley

3

maven embedderを使用してください。さらに重要なのは、jarファイルの解決とダウンロードにMaven埋め込み機能を使用することです。単純なCLIを書くだけなら、リポジトリの構造は複雑ではなく、mavenリポジトリURL、アーティファクトID、グループID、およびバージョンを使用してjarファイルの完全なURLを生成するスクリプトを簡単に書くことができます。

0

リポジトリはHTTPを介してアクセスされるため、リポジトリの場所、アーティファクト、座標を考慮すると、任意のブラウザでヒットすることができるアーティファクトへのURLをopsチームに与えることができます。

+0

リポジトリ内の実際のアーティファクトファイル名にタイムスタンプが付いていて、プログラマチックな方法でアーティファクトをプルダウンできるようにしたいので、スナップショットでは少し毛がかってしまいます。私は既にネクサスを使用していましたが、これは既にこれのAPIを持っていることが判明しました。 – whaley

+0

Gotcha - ネクサスについて教えてください –

+1

@whaley Nexus APIへのリンクを投稿できますか? –

0

考えてあなたがそうのようなMavenの成果物を参照するために、プレーンなURLを使用することができますについてパックスのURL

 
mvn:groupId/artifactId/version 

は、より多くの情報(MVNプロトコルハンドラ)についてPAX URL Websiteを参照してください。

トニ

7

私は3つの簡単なオプションを参照してください。ただ、彼らに自分のリポジトリにあなたのアーティファクトに指しているリンクを送信し、彼らのブラウザを使用してい

  1. を。
  2. wgetwget http://path/to/artifact.extension)をインストールして使用してください。
  3. mvn dependency:getをインストールして使用するには、(mvnが必要ですが、詳細についてthis answerを参照してください、pom.xml必要ありません)。
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 
); 

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

+0

このプラグインを使用して、要求されたアーティファクトをユーザーの希望する場所にダウンロードし、任意の機能を特定の場所に抽出することはできますか? – gihan

関連する問題