web-dev-qa-db-ja.com

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

NexusMavenの違いは何ですか?

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

102
ruhungry

Sonatype Nexus および Apache Maven は、多くの場合一緒に機能する2つのソフトウェアですが、ジョブの非常に異なる部分を実行します。 Nexusはリポジトリを提供し、Mavenはリポジトリを使用してソフトウェアを構築します。

Nexusとは? 」からの引用です:

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

そして、ここに「 MavenとNexus Pro、お互いのために作られた 」からの引用があります。Mavenがリポジトリを使用する方法を説明しています。

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

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

133
blalasaadri

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

違いに焦点を当てることができるいくつかのステートメントを作りましょう。

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

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

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

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

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

詳細

1
Moon