执行mvn test报错:src/main/test下test.properties文件无法找到
解决Maven测试时无法识别src/main/test下properties文件的问题
问题原因
Maven遵循约定大于配置的原则,默认只会将src/test/resources目录下的文件视为测试阶段的类路径资源。你把test.properties放在了非标准的src/main/test目录,导致构建时该文件不会被复制到测试类路径,所以配置类加载时会报找不到文件的错误。
解决方案
方案1:调整目录结构(推荐,符合Maven规范)
直接把test.properties移动到src/test/resources目录下。Maven会自动识别这个目录的资源,无需额外配置,重新执行mvn clean test即可正常加载。
方案2:修改pom.xml配置(适配自定义目录)
如果不想移动文件,在项目的pom.xml中添加以下配置,让Maven把src/main/test目录纳入测试资源扫描范围:
<build> <testResources> <!-- 新增自定义测试资源目录 --> <testResource> <directory>src/main/test</directory> <includes> <include>*.properties</include> </includes> </testResource> <!-- 保留默认测试资源目录,避免原有配置失效 --> <testResource> <directory>src/test/resources</directory> </testResource> </testResources> </build>
配置完成后执行mvn clean test,Maven就会将src/main/test下的properties文件复制到测试类路径,配置类就能正常读取了。
额外排查点
- 确认
test.properties文件名拼写完全正确(注意大小写,Linux/Mac系统下文件名大小写敏感) - 检查配置类
TestHibernateConfig中加载文件的代码,确保路径是classpath:test.properties,没有多余的路径前缀
内容的提问来源于stack exchange,提问作者usha duddu
相关产品推荐
相关产品推荐

