我已经有一段时间没有编程了,我正在重新开始编程,我遇到了一个非常特殊的问题。过去,每当我从 Maven 中编译测试代码时,它都会将测试源树中包含的所有 *.xml 资源文件复制到target/test-classes
. 但是昨晚,在我当前的项目中,它不再这样做了——这不是我所期望的。每当我通过 Maven 或 Intellij IDEA 运行测试时,测试都会失败,因为它在类路径中找不到任何 *.xml 文件——它们从未被复制过来。
我的计算机上有旧项目使用完全相同的 .pom 文件和项目结构,并且 *.xml 文件可以很好地复制。
为了解决这个问题,我在我的 Maven POM 中包含了以下 XML:
<testResources>
<testResource>
<directory>src/test/java</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</testResource>
</testResources>
虽然这解决了问题,但我仍然很好奇为什么我必须不遗余力地告诉 Maven 手动将 *.xml 文件从我的测试源树复制到我的 target/test-classes 目录。就像我说的,过去 2 年中所有其他较旧的项目都在复制 *.xml 文件,而我没有指定testResources
.
什么可能导致这种行为?