Java 如何让maven使用测试资源

Java 如何让maven使用测试资源,java,testing,maven,Java,Testing,Maven,当我使用命令:mvntest时,maven使用主资源,而不是src/test/resources中的测试资源 如何让maven使用测试资源而不是主要资源 编辑:我使用Classloader查找我的资源。Classloader可以从src/test/resources目录中找到资源,但它首先在src/main/java中查找资源 ClassLoader loader = Thread.currentThread().getContextClassLoader(); InputStream file

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

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

编辑:我使用Classloader查找我的资源。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,是否有方法更改类路径的顺序或使一个优先于另一个?

您不能给它另一个名称吗
加载程序不知道您的resource.xml位于
src/main/resources
src/test/resources
中,这只是一个要查找的路径。我认为问题不在于Maven,这是加载程序应该如何工作的。从Maven开始,在进行测试阶段时,您希望放弃
src/main/resources
中的所有类/资源吗?

请检查目标/测试类目录中的resource.xml。 你的档案应该在这里。如果你找到这个文件,我想是同名的问题。尝试将文件重命名为test-resource.xml。如果测试类目录中不存在该文件,则应在maven pom.xml中配置资源管理。使用。
希望有帮助。

我不知道。也许您可以在测试类中配置surefire或手动加载资源。我已经解决了问题,它确实是从测试的测试/资源加载的,但是我的测试涉及部署一个webapp(集成测试),当webapp访问资源时,它使用src/main/resources。对于部署在jetty容器中的WAR,是否有方法更改类路径的顺序或使一个优先于另一个?我将更新我的问题请不要再问同一个问题,用任何相关的更新来编辑你现有的问题,这将使你的问题更加突出。谢谢