web-dev-qa-db-ja.com

完全なMavenリモートリポジトリをローカルリポジトリにダウンロードしますか?

リモートリポジトリ全体を取得するものはありますか?たとえば、 http://repo1.maven.org/maven2/ からローカルリポジトリ(%USERPROFILE%)?

17
srinannapa

から http://maven.Apache.org/community.html

良いメイヴン市民であること

Mavenのコアアーキテクチャに組み込まれたパブリックリポジトリの概念により、必然的にコミュニティ中心になります。 Mavenユーザーがそのコミュニティの繁栄を維持するために行うことができるいくつかの簡単なことがあります。

親切な公開リポジトリユーザーになる

ユーザーができる最善のことは、必要なプロジェクトを含む独自のリモートリポジトリミラーを設定することです。 NexusArchiva など、これを簡単にするためのツールがいくつかあります。これにより、Maven中央リポジトリへの負担が軽減され、新しいユーザーはMavenをより簡単かつ迅速に知ることができます。これは、パワーユーザーや企業にとって特に重要です。この背後にあるインセンティブは、独自のサーバーを制御することで、必要なレベルのセキュリティと稼働時間をより細かく制御できるため、ユーザーのエクスペリエンスが向上することです。そうは言っても、次の感情を覚えておいてください。

リポジトリ全体を取得しないでください!

必要な瓶だけを持っていってください。これにはさらに作業が必要になる可能性があることは理解していますが、9ギガ以上のバイナリをすべて取得すると、サーバーが実際に停止します。

ミラーをホストする

前のステートメントの拡張として、多くの帯域幅を持つ大規模なデータリポジトリにアクセスできる場合は、Maven中央リポジトリのミラーになることを検討してください。

ご想像のとおり、何千人ものユーザーがダウンロードすると、1台のサーバーにかなりの負担がかかる可能性があります。ミラーになりたい場合は、 Mavenプロジェクト管理 JIRAプロジェクトにリクエストを提出してください。

パブリックリポジトリをホストする

他の人に使用してもらいたいプロジェクトがある場合は、自分の公開リポジトリでホストしてください。そうすれば、ユーザーは自分のリポジトリを自分のプロジェクトリポジトリリストとビオラに追加するだけで済みます。 Mavenは、ユーザーとユーザーの同期を維持し、新しく見つかった使いやすさだけでユーザーベースを拡大できます。

中央リポジトリ全体を%USERPROFILE%で取得したい理由を説明すると、より良い答えを提供できます(オフラインにする必要がある場合は、9ギガ以上のアーティファクトを取得するよりも賢い解決策があります)。しかし、今のところ、私はポイントを取得していません。

15
Pascal Thivent

別のマシンで利用できるようにするには、プライベート製品リポジトリをミラーリングする必要がありました。 lftpは問題なく動作しました:

$ lftp http://my.repo.example.com/product/maven
mirror --no-empty-dirs --parallel=3 . my-local-repo
13
akostadinov

Mavenを使用してそれをどのように行うかはわかりません。あなたが達成しようとしていることを説明することは役に立つかもしれません-おそらくあなたはローカルキャッシュが欲しいですか?

あなたが本当に探しているのは、Sonatypeの Nexus のようなローカルリポジトリマネージャです。これらのリポジトリマネージャは、リモートリポジトリ用のローカルキャッシュを提供するだけでなく、コードを配置するための場所を提供します。

3
brabster