Mavenプロジェクトで、Eclipse のテストは成功するのに、コマンドラインからのテストが失敗することがありました。
原因は設定ファイルの置き場所を間違えたためで、これからその詳細について記載していきます。
エラー内容
コマンドラインで mvn test
を実行すると、以下のエラーが出力されました。
java.util.MissingResourceException: Can't find bundle for base name it, locale ja_JP at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2045) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1683) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1586) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1549) ・・・以下省略・・・
プロパティファイル it.properties
が見つからない、といった内容です。
対応内容
ファイルの置き場所を、以下の通り変更しました。
- 変更前:
src/test/java/it.properties
- 変更後:
src/test/resources/it.properties
やはり、設定ファイルは resources
に置く必要がありました。
Eclipseでテストが成功した理由
Eclipse の場合、プロパティファイルが以下の通りコピーされていました。
- コピー元:
src/test/java/it.properties
- コピー先:
target/test-classes/it.properties
そのため、テストが成功していたのかと思います。