美文网首页
解决idea中maven项目无法读取src/main/java目

解决idea中maven项目无法读取src/main/java目

作者: banbo520 | 来源:发表于2020-03-19 13:39 被阅读0次

    当我们在maven项目中使用Mybatis的时候,需要给Mybatis配置核心xml文件(MyBatis-Config.xml)和映射文件(XxxMapper.xml),一般我们把映射文件和mapper(也就是dao层)放在同一层目录下。

            但是在idea中创建maven项目的时候,会出现无法读取到mapper目录下对应的mapper.xml文件(因为项目在编译java目录下的文件时只会去编译.java文件);以下提供了两种解决问题的方法:

          第一种:先在src/main/resources目录下创建和src/main/java目录下相同的目录结构(保持项目整体结构的清晰),然后将mapper.xml文件移动到resources目录下相应的目录中,就可以解决了。(建议使用,因为在真正项目开发中,配置文件和.java文件不会放在一起,都是分开放的,这样便于管理)

      原理:项目在编译完java和resources两目录下的所有文件后,会将两目录下的代码都整合到target目录中去,其实项目真正执行的是target目录下的代码,而java目录和resources目录相当于两个根目录,当两个目录的资源被整合到target中时,两目录拥有相同的目录结构,这样mapper.xml在target目录中就会被放到mapper(也就是dao层)目录下。

      第二种:只需要将如下代码直接复制到pom.xml文件下即可。(这种是通过修改maven默认导入配置文件的行为)

    <build>

            <resources>

                <!--指定xml文件位置-->

                <resource>

                    <directory>src/main/java</directory>

                    <includes>

                        <include>**/*.xml</include>

                    </includes>

                    <!--这里写成true会造成编译注释错误-->

                    <filtering>false</filtering>

                </resource>

            </resources>

        </build>

     注意建议使用第一种解决方法,因为在真正项目开发中,配置文件和.java文件不会放在一起,都是分开放的,这样便于管理

    相关文章

      网友评论

          本文标题:解决idea中maven项目无法读取src/main/java目

          本文链接:https://www.haomeiwen.com/subject/pztlyhtx.html