web-dev-qa-db-ja.com

mvnwファイルをリポジトリに追加する必要がありますか?

start.spring.io を使用してスプリングブートプロジェクトを作成すると、いくつかのMavenラッパーファイルが含まれます。

  • mvnw
  • mvnw.bat

Gitリポジトリにコミットするときにファイルを無視する必要がありますか?

15
Titulum

mvnw Mavenラッパースクリプトを使用すると、MavenをインストールしてPATHに表示せずにMavenコマンドを実行できます。 PATHでMavenを探し、見つからない場合は、デフォルトの場所(ユーザーのホームディレクトリ、IIRC)にMavenをダウンロードしてインストールします。

これらは便利ですが、必ずしもプロジェクトの一部ではなく、プロジェクトのコードや構成と同じではありません。言い換えると:

  • 任意のmnvwファイルを複数の無関係なプロジェクトに使用できます
  • mnvwファイルは、ほぼ確実にプロジェクトのバージョンごとに異なることはありません。

これに基づいて、コードリポジトリに対してコミットしないmvnwのケースを作成できます。

ただし、リポジトリにmvnwスクリプトを含めると、次の利点があります。

  • 最初にMavenをインストールしなくても、リポジトリを複製/チェックアウトする人なら誰でもプロジェクトをビルドできます。
  • 使用中のMavenのバージョンがプロジェクトと互換性のあるバージョンであることを確認します。

これに基づいて、コードリポジトリに対してコミットmvnwのケースを作成できます。

そのため、双方に長所と短所があります。リポジトリを使用する人のニーズに最も適した側を選択してください。どちらか:

  • Readaに(a)Mavenが前提条件であり、(b)Mavenのどのバージョンが必要かを明確にするものを含めます。

...または:

  • mvnwスクリプトを含めます。
22
glytching

Mavenラッパーを使用するかどうかによって異なります。そうでない場合は、それらのファイルを削除できます。使用する場合は、リポジトリ内のファイルをコミットする必要があります。そうしないと、使用する意味がありません。

3
dunni