NexusとMavenの違いは何ですか?


133

NexusMavenの違いは何ですか?

Mavenのみを使用する基本的なシナリオは何ですか?Nexusのみを考慮したシナリオはどうですか?また、両方を使用したい場合はどうなりますか?

回答:


156

Sonatype NexusApache Mavenは2つのソフトウェアであり、一緒に機能することがよくありますが、それらの役割は非常に異なります。Nexusはリポジトリを提供し、Mavenはリポジトリを使用してソフトウェアを構築します。

Nexusとは」からの引用次のとおりです

Nexusは、開発に必要なソフトウェア「アーティファクト」を管理します。ソフトウェアを開発する場合、ビルドはNexusから依存関係をダウンロードし、アーティファクトをNexusに公開して、組織内でアーティファクトを共有する新しい方法を作成できます。Centralリポジトリは常に開発者にとって非常に便利なものでしたが、直接アクセスするべきではありません。組織内で安定性を確保するために、NexusでCentralをプロキシし、独自のリポジトリを維持する必要があります。Nexusを使用すると、組織内のすべてのアーティファクトへのアクセスと展開を1つの場所から完全に制御できます。

そして Mavenがリポジトリを使用する方法を説明する「MavenとNexus Pro、Made forお互いに」からの引用は次のとおりです。

Mavenは、アプリケーションのビルドに必要なアーティファクトを取得し、ビルドプロセスの結果をリポジトリにデプロイすることにより、リポジトリの概念を活用します。Mavenは構造化リポジトリの概念を使用しているため、コンポーネントを取得してビルドをサポートできます。これらのコンポーネントまたは依存関係には、ライブラリ、フレームワーク、コンテナーなどが含まれます。Mavenは、リポジトリー内のコンポーネントを識別し、それらの依存関係を理解し​​、正常なビルドに必要なすべてを取得し、ビルドが完了したときにその出力をリポジトリーにデプロイします。

したがって、両方を使用する場合は、Nexusによって管理されるリポジトリがあり、Mavenがこのリポジトリにアクセスします。


14

これには良い一般的な説明があります:https : //gephi.wordpress.com/tag/maven/

その違いに焦点を当てることができるいくつかのステートメントを述べさせてください:

  1. コードベースをAntからMavenに移行しました

  2. すべてのサードパーティライブラリがNexusにアップロードされました。MavenはNexusをライブラリのソースとして使用しています。

  3. Sonatypeなどのリポジトリマネージャーの基本的な機能は次のとおりです。

    • プロジェクトの依存関係の管理
    • アーティファクトとメタデータ、
    • 外部リポジトリのプロキシ
    • パッケージ化されたバイナリーとJARをデプロイして、それらの成果物を他の開発者やエンドユーザーと共有します。

2

私が学んだことから何を理解し、それが何だと私が思うことはここにあります。私はこのことを学んだ本の一部を引用しています。Nexus Repository ManagerとNexus Repository Manager OSSは、Mavenリポジトリ形式をサポートするリポジトリマネージャとして開始されました。現在、他の多くのリポジトリ形式をサポートしていますが、Mavenリポジトリ形式は、JVM以降で実行されるビルドおよびプロビジョニングツールで最も一般的で十分にサポートされている形式です。この章では、Apache Mavenおよびその他のいくつかのツールでリポジトリマネージャーを使用するための設定例を示します。セットアップでは、多くのリポジトリをマージし、リポジトリグループを介してそれらを公開します。この設定は、特定のツールで使用される構成に加えて、この章で説明されています。

細部

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.