问题
Maven 是约定大于配置的一种工具, 通常约定在 src/main/resources
目录下放配置文件, 当我们想要在 src/main/java
代码目录下放置配置文件用来测试, Maven 项目 build 的时候并不会把代码目录下的配置文件添加到相应的位置, 可以查看 target
目录来证实这个情况, 最终会导致测试代码报错, 无法找到相应的配置文件.
解决方案
在 pom.xml
中配置 Maven 项目 build 时所需要的资源路径并开启过滤, 样例如下:
<project>
...
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>