2014年1月8日水曜日

【maven】getClass().getResourceAsStream("hogehoge.properties")でNullPointerException

target/test-classes/com/hogehoge.properties

にプロパティファイルを配置する必要がありました
src配下にいくら置いても実際にコンパイルした.classファイルはtarget配下にできるのでプロパティファイルもtarget配下にコピーしてやる必要があります
mavenでは自動でコピーしてくれる機能が備わっており

src/test/resources
に必要なプロパティファイルを置いておくと「target/test-classes」に自動でコピーし
src/main/resources
に必要なプロパティファイルを置いておくと「target/classes」に自動でコピーしてくれます

また、resources配下にディレクトリも作成しておくとそのディレクトリ階層に合わせてプロパティファイルをコピーしてくれます

pom.xmlには特にpluginの設定を書く必要はありません
内部的にはmaven-resources-pluginを使用しているようですが、デフォルトで使用できるのでフォルダを作成してプロパティファイルを配置すれば自動でコピーしてくれます

0 件のコメント:

コメントを投稿