当我使用命令: mvn test时,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资源时。对于部署在码头容器中的战争,有没有办法改变类路径的顺序,或者让一个路径在另一个路径之前?
发布于 2011-06-08 22:45:52
你不能给它换个名字吗?
Loader并不知道你的resource.xml是在src/main/resources还是src/test/resources中,它只是一个要查找的路径。我认为问题不在于Maven,而在于Loader应该如何工作。在Maven中,您希望在进行测试阶段时放弃src/main/resources中的所有classes/resources吗?
发布于 2011-06-08 23:08:04
请检查resource.xml的target/test-classes目录。你的档案应该在这里。如果你找到这个文件,我想问题是同名的。尝试重命名文件,例如将其重命名为test-resource.xml。如果测试类目录中不存在该文件,则应该在maven pom.xml中配置资源管理。使用maven-resouce-plugin。希望能有所帮助。
https://stackoverflow.com/questions/6267312
复制相似问题