0

当我尝试运行我的...时my.properties,我的源 ( src/main/resources) 文件夹 keepa 中的文件被拾取并使用,JerseyTest而我希望使用测试文件夹 ( src/test/resources) 中的属性文件。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
    myProperties.load(classLoader.getResourceAsStream("my.properties"));
}

如何在 Maven 中配置它?

我在用着:

  1. maven-compiler-plugin版本2.1
  2. jersey-test-framework-grizzly2版本1.13

更新(根据接受的答案解决):

我注意到了文字skip non existing resourceDirectory

[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ xxx ---
[WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /xxx/xxx/xxx/xxx/src/test/resources

原来我拼错了资源,在修复它之后,一切都按照接受的答案中的概述进行。

当我浪费时间寻找解决方法时,我确实找到了一些有趣的链接,用于基于配置文件配置属性文件:

  1. 如何根据我的个人资料更改 maven 中的 .properties 文件?
  2. http://maven.apache.org/guides/mini/guide-building-for-different-environments.html
4

1 回答 1

1

src/test/java文件夹运行某些内容时,默认行为是:

  • 它将拾取文件src/main/resources
  • 除非src/test/resources.

所以基本上它会用以下内容“覆盖” 的src/main/resources内容src/test/resources

  • 如果您在两个文件夹中都有一个文件,则以其中的一个src/test/resources为准。
  • 如果您仅在 中获得一个文件src/main/resources,它将被使用。
  • 如果您仅在 中获得一个文件src/test/resources,它将被使用。
于 2013-06-06T00:53:07.427 回答