Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Maven テスト用設定ファイルの配置場所について

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

そのため、テストが成功していたのかと思います。