Mavenの各種ディレクトリに対応するプロパティの一覧

はじめに

Mavenで提供されているプロパティの名前を調べ直すことが度々あるので、調べた内容をメモしておく。 「使えるプロパティのリストはこれですよ」ときちんと書いてある公式ドキュメントは、あるような、ないような。。。 まぁ、Mavenがプロパティの塊で、なおかつモジュールも細分化されているから、統合的なドキュメントが書きにくいのは分からなくもない。

ひとまず、よく利用するものだけまとめておく。

各種ディレクトリに対応するプロパティの一覧

プロパティ デフォルト値 対応するpom.xmlの要素の位置(XPath)
project.basedir (プロジェクトのディレクトリへのフルパス) (なし)
project.build.directory ${project.basedir}/target /project/build/directory
project.build.outputDirectory ${project.basedir}/target/classes /project/build/outputDirectory
project.build.testOutputDirectory ${project.basedir}/target/test-classes /project/build/testOutputDirectory
project.build.sourceDirectory ${project.basedir}/src/main/java /project/build/sourceDirectory
project.build.scriptSourceDirectory ${project.basedir}/src/main/scripts /project/build/scriptSourceDirectory
project.build.testSourceDirectory ${project.basedir}/src/test/java /project/build/testSourceDirectory

TODO

ディレクトリ ${project.basedir}/src/main/resources に対応するプロパティの型はStringかFileの配列だったかも。 今後必要ならば、上記の表に型の情報を追加して、プロパティの一覧を増やす。

参考