项目编译输出路径产生的问题
在跑多模块项目的mapper测试的时候,发现了一个问题,跑测试时候报了
class path resource [db.properties] cannot be opened because it does not exist
引起的一系列报错,看起来是因为缺失了resource下的配置文件,但是resource下肯定是存在这个db.properties文件的,因此花了十来分钟解决了这个小问题,写下来供自己复习和大家参考:
- 第一种情况,就是resource下没有这个配置文件,解决办法就是写一个。
- 第二种情况,就是你更改了模块设置的项目编译路径,编译时候没把resource下的配置文件等打包进输出的文件夹里,maven默认是不会打进去的,自己可以手动在pom.xml里配置一下,放build里:
<resources>
<resource>
<!-- 设定主资源目录 -->
<directory>src/main/resources</directory>
<!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,只处理如下配置中包含的资源类型 -->
<includes>
<include>**/*.xls</include>
<include>**/*.html</include>
<include>**/*.xlsx</include>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,是否对主资源目录开启资源过滤 -->
<filtering>true</filtering>
</resource>
</resources>
- 第三种情况,用的git,idea没提示你添加文件,然后虽然文件被打包进去了,但是没有添加,因此测试类读不到文件,就是我这次碰到的问题:
这种情况只要添加了就能解决。