Mavenでは、dependencyにより依存性を管理している。
依存性の管理とは、そのプロジェクとに必要なパッケージやバージョン等の情報をPomで一元的に管理することである。
dependency要素には、次の要素がある。
<groupId>: プロジェクトを一意に識別する名前
<artifactId>: プロジェクトの成果物名
<version>: パッケージのバージョン
<scope>: パッケージをクラスパスに追加するタイミング
また、scope要素で指定するタイミングは、下記のパターンがある。
compile: 全てのタイミングで、クラスパスに追加する。
privided: コンパイル時に、クラスパスに追加する。(実行時は、ライブラリがJDKやコンテナから提供される。デプロイ時には含めない。)
runtime: java実行時に、クラスパスに追加する。(コンパイル時は不要。実行時に必要。JDBCドライバや、logback等、実行時のクラスパスにより挙動が変化する)
test: testディレクトリのコンパイルと実行時に、クラスパスに追加する。
system: 明示的にクラスパスを指定(タイミングと関係ない??あまり使われない)
ちょっとMavenが手強くなってきた。
◆進捗
Maven | TECHSCORE(テックスコア)の
「3.1. 依存性について」まで完了
◆参考サイト
・Maven | TECHSCORE(テックスコア)
http://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/