解决idea中maven项目没法读取src/main/java目录下面的配置文件问题
当咱们在maven项目中使用Mybatis的时候,须要给Mybatis配置核心xml文件(MyBatis-Config.xml)和映射文件(XxxMapper.xml),通常咱们把映射文件和mapper(也就是dao层)放在同一层目录下。html
可是在idea中建立maven项目的时候,会出现没法读取到mapper目录下对应的mapper.xml文件(由于项目在编译java目录下的文件时只会去编译.java文件);如下提供了两种解决问题的方法:java
第一种:先在src/main/resources目录下建立和src/main/java目录下相同的目录结构(保持项目总体结构的清晰),而后将mapper.xml文件移动到resources目录下相应的目录中,就能够解决了。(建议使用,由于在真正项目开发中,配置文件和.java文件不会放在一块儿,都是分开放的,这样便于管理)app
原理:项目在编译完java和resources两目录下的全部文件后,会将两目录下的代码都整合到target目录中去,其实项目真正执行的是target目录下的代码,而java目录和resources目录至关于两个根目录,当两个目录的资源被整合到target中时,两目录拥有相同的目录结构,这样mapper.xml在target目录中就会被放到mapper(也就是dao层)目录下。maven
第二种:只须要将以下代码直接复制到pom.xml文件下便可。ide
<build> <resources> <!--指定xml文件位置--> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <!--这里写成true会形成编译注释错误--> <filtering>false</filtering> </resource> </resources> </build>