使Eclipse使用src / test / resources而不是src / main / resources

我在Eclipse中编写了一个小的Maven应用程序。 我将一些属性文件和我的应用程序上下文存储在目录src / main / resources中。

我现在想让Eclipse在目录src / test / resources中使用属性。 因此,当我在Eclipse中运行和调试程序时,应该使用这些测试属性。

你知道我怎么能做到这一点吗?

无论您使用Maven Eclipse插件还是m2eclipse , src/test/resources位于类路径上的src/main/resources之前(更准确地说,是它们的输出目录)。 换句话说,没有什么可做的,事情就像在命令行上一样。

尝试这个:

  1. 转到“运行 – >运行配置…”(如果是调试“运行 – >调试配置……”)
  2. 您使用的打开运行(调试)配置
  3. 打开“Classpath”选项卡
  4. 选择“用户条目”,然后单击右侧的“高级…”
  5. 在打开的窗口中选择“添加文件夹”,指向您的src / test / resources
  6. 此文件夹将显示在“用户条目”下,然后您应将其向上移动以使其成为类路径中的第一个

使用测试覆盖(例如testOverrides.xml):

      

在测试中,确保首先导入:

 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:META-INF/spring/testOverrides.xml","classpath*:META-INF/spring/applicationContext.xml"}) public class SomeTest { ... } 

现在将所有测试属性放在src/test/resources/META-INF/spring/testproperties/

你还必须确保main占位符配置器看不到testproperties ,例如这里是我的:

  

它不使用double *通配符,因此只会查看该目录。

我使用上述方法取得了巨大成功。