我的项目的依赖模块之一中存在 bean 定义(x1.spring.xml)。
现在我必须编写 Junit,它使用 jar 中存在的 x1.spring.xml 文件。 我想覆盖 x1.spring.xml 中的一些 bean 整体,因此我在 test/src --> 中创建相同的包结构,并将文件 x1.spring.xml 与我的新修改一起放置。
但是当我执行 junit 时,程序正在获取 jar 中存在的那个,而不是中存在的那个 测试/src 文件夹。我维护了与 jar 相同的包结构(认为它将覆盖 jar 中存在的包结构)
最佳答案
如果您遵循 Maven 约定,即 ${basedir}/src/main/resources
和 ${basedir}/src/test/resources
,则文件位于后面的位置放在类路径的前面,因此 @SpringJUnit4ClassRunner 会首先找到测试文件。听起来您没有使用传统目录,在这种情况下,请确保您已正确配置 resources
和 testResources
build
元素。请参阅POM reference了解详情。
或者只是将测试文件称为其他名称以保持简单,如果这是在 @SpringJUnit4ClassRunner 中配置的顶级资源。
关于java - 覆盖 Junit 的 jar 中存在的 spring 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901247/