有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何让maven使用测试资源

当我使用命令: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,是否有方法更改类路径的顺序或使一个优先于另一个


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    请查看您的目标/测试类目录以获取资源。xml。 你的档案应该在这里。如果你找到了这个文件,我认为同名是个问题。例如,尝试重命名文件以测试资源。xml。如果测试类目录中不存在该文件,则应在maven pom中配置资源管理。xml。使用maven-resouce-plugin。 希望有帮助