マベンのスコープの使い方は何ですか?
Mavenのscope要素は、依存関係の可視性と使用範囲を異なるビルド段階で定義するために使用されます。pom.xmlファイルの要素に設定でき、次のいくつかのオプション値を持っています:
- コンパイル(デフォルト):依存関係はすべてのコンパイル、テスト、実行段階で見えるようになります。それは出力されるJARファイルに含まれ、他のプロジェクトの依存関係によって使用されることができます。
- 提供された依存関係は、コンパイルおよびテスト段階で見えますが、アプリケーションコンテナやJava実行環境によって実行時に提供されます。これは、アプリケーションを展開する際に、その依存関係が生成されたJARファイルに含まれないことを意味します。
- ランタイム:依存関係は実行およびテスト段階で見えるが、コンパイルされない。この依存関係は実行時に必要であり、コンパイル時には不要であるため、出力されるJARファイルに含まれません。
- テスト:依存関係はテスト段階でのみ見ることができ、コンパイルや実行されることはありません。これは主にユニットテストのために使用されます。
- システム:Providedと似ていますが、jarファイルのパスを明示的に指定する必要があります。このスコープは、Mavenリポジトリから入手できないローカル依存関係を持つ場合に便利です。
- import:このスコープは、一部の要素にのみ適用されます。これにより、他のpom.xmlファイルから依存関係管理部分を導入し、依存関係のバージョンを再利用して集中的に管理することができます。
異なるスコープ値を要素に設定することで、依存関係の可視性と使用範囲を異なるビルド段階で制御し、プロジェクトの要求に対応できます。