mavenのscope属性は何に使われますか。
Mavenのscope属性は、依存関係の適用範囲を指定するために使用され、いつ依存関係を使用できるかを決定します。scope属性にはいくつかの値があります。
- compile:デフォルト値は、この依存関係がコンパイル、テスト、実行の各段階で利用可能であることを示しています。
- 提供される:この依存関係はコンパイルおよびテスト段階で使用可能ですが、実行段階ではコンテナによって提供されます。例えば、servlet-api。
- ランタイム:この依存関係は、コンパイルには関与せず、ランタイムとテスト時のみ利用可能です。
- テスト:この依存関係はテスト段階でのみ使用可能であり、コンパイルや実行には関与しないことを示します。
- システム:この依存関係はローカルシステムに存在し、systemPathで指定されたパスからインポートされます。
scope属性を使うことで、依存関係の利用可能性を異なる段階で効果的に制御し、不要な依存関係がプロジェクトの構築やデプロイに影響を与えるのを回避できます。