マベンのスコープの役割は何ですか?
Mavenのscopeは、依存関係の可視性と使用範囲を異なるビルド環境で指定するために使用されます。
一般のスコープ値には、以下が含まれます:
- compile: デフォルトの値は、依存項がコンパイル、テスト、実行中にすべて可視であり、最終的なビルド結果に含まれることを意味します。
- 提供された依存関係は、コンパイルやテストの際には見えますが、実行時にはコンテナ(例えばサーブレットコンテナ)が提供するため、ビルド結果に含まれません。
- ランタイム:依存関係はテストと実行時に可視性があるが、コンパイル時には必要ない。
- テスト:依存関係はテスト中にのみ表示され、コンパイル結果や実行結果には含まれません。
- システム:依存関係がローカルシステムに存在し、systemPathプロパティを使用して依存関係のパスを指定する必要があります。このスコープはほとんど使用されませんが、プロジェクト内で共有ライブラリが不足している場合に解決するために主に使用されます。
異なるスコープを使用することで、依存関係の可視性や使用範囲を異なる構築段階で制御し、構築プロセスの柔軟性と効率を向上させることができます。