如何让maven使用测试资源

当我使用命令:mvn test时,maven使用主要资源而不是src / test / resources中的测试资源。

我如何让maven使用测试资源而不是主要资源?

编辑:我使用Classloader来查找我的资源。 类加载器可以从我的src / test / resources目录中找到资源,但它首先在src / main / java中查找资源。

ClassLoader loader = Thread.currentThread().getContextClassLoader(); InputStream file =loader.getResourceAsStream("resource.xml"); 

或者在运行maven命令时是否可以使用任何属性来优先考虑类路径?

编辑2:我已经发现问题,它确实从测试/资源加载测试,但是我的测试涉及部署webapp(集成测试),当webapp访问资源时,它使用src / main / resources。 有没有办法改变类路径的顺序,或者为一个部署在jetty容器中的WAR使一个在另一个之前?

你不能给它另一个名字吗?
Loader不知道你的resource.xmlsrc/main/resourcessrc/test/resources ,它只是一个寻找的路径。 我认为这不是Maven的问题,这就是Loader应该如何工作。 从Maven开始,您希望在进行测试阶段时丢弃src/main/resources所有类/资源吗?

请检查您的target / test-classes目录中的resource.xml 。 你的文件应该在这里。 如果你找到这个文件,我认为同样的名字是问题。 尝试将文件重命名为例如test-resource.xml。 如果test-classes目录中不存在该文件,则应在maven pom.xml中配置资源管理。 使用maven-resouce-plugin 。 希望能帮助到你。