Mavenが私たちの生活を楽にするためには、少なくとも当初、私たちの生活をより困難にする領域を見つけることができました。あなたがそれらを使うことができるリポジトリで、特に初心者のために欠けているライブラリを手に入れることは、正しい痛みになるかもしれません。ライブラリがリポジトリに入ったら、Mavenの依存メカニズムは素晴らしいものであり、人生は価値のあるものです。長期的には、それはあなたに大量の時間と頭痛を節約します。しかし、まずあなたは苦しんでいなければなりません...
あなたのライブラリをリポジトリに入れて、それを使用できるようにすることです。まず、中央のレポを本当に見て、後にある図書館がまだ存在しないことを確認します。あなたのライブラリーにはsearch the central repoできます。
リポジトリに展開する必要がある場合、最初に知っておくべきことは、ほとんどの人が企業またはプライベートネットワーク内で独自のリポジトリをホストすることです。 ArtifactoryとNexusはともにリポジトリマネージャであり、これらのうちの1つを実行して、Mavenビルドのアーティファクトとサードパーティのライブラリをどこかに配置する必要があります。私はArtifactoryを使い、それをとても好きですが、Nexusもうまくいくと聞いて、Sonatypeの人たちによって書かれています。これらのリポジトリは、中央リポジトリのプロキシとして動作し、そこではあなたのMavenビルドを排他的にポイントし、中央リポジトリからアーティファクトを解決してダウンロードし、キャッシュします。中央リポジトリは、ネットワークトラフィックの影響をそのまま受けているため、これを愛しています。
ネットワーク上のレポがない場合は、ボックスのローカルリポジトリ(userhome.m2 \ repositoryにあります)にアーチファクトをいつでも展開/インストールできます。あなたのローカルボックスでmavenビルドを実行し、mavenに "install"と言うと、これはビルド成果物を置く場所です。また、ビルド時に中央リポジトリからの依存関係のダウンロードがここに配置され、後のビルド時に再利用されてネットワークトラフィックが削減されます。欠点は、他の開発者と一緒に作業しても、チェックアウトやコード作成ができないことです。ローカルのレポにアーチファクトを展開するには、イライラしてエラーが発生する可能性があります。したがって、すべての開発者が使用できるすべての成果物について、企業のメイキングレポを作成することをお勧めします。
これ以外にも、あなたの直面している問題には、2つの一般的な戦略があります。サードパーティのライブラリとそのすべての依存関係をデフォルトのpomsを使用してデプロイし、次にプロジェクトのpomファイルにすべて依存関係として宣言します。あるいは、Mavenの推移的依存メカニズムに依存することもできます。最初に、すべての依存関係を宣言するpomファイルを含む第三者のライブラリをデプロイしてから、すべての依存関係をデフォルトのポームを使用してデプロイします。最後に、プロジェクトのpomでは、サードパーティのライブラリに依存関係を宣言するだけで、mavenの推移的な依存性メカニズムによって、他のすべてのライブラリを取得できます。
"Maven: The Complete Reference"と"Repository Management with Nexus"を含むSontatype booksのオンラインで読んでみることをお勧めします。
+1。私はMavenリポジトリをホストするためにこの勧告を支持します。 Mavenがエンタープライズ環境でどのように拡張するかを理解するでしょう。 –
私たちは実際にMavenリポジトリを持っています。そのため、これらのサードパーティ製のファイルを含めてどうやってどうやって作業するのかを理解しようとしています。 – Thirlan
良い、それは大きなプラスです。 ArtifactoryはWebベースで、ユーザーがサードパーティ製のライブラリをアップロードできる画面があります。 groupId、artifactId、versionId、およびオプションのpomファイル(推移的依存関係を指定できる)を指定します。これは、mavenデプロイよりも簡単です(http://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html)。どのリポジトリマネージャを使用しているか分かりませんが、同様のデプロイメントメカニズムを提供していないと驚いています。 – BenjaminLinus