mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]

mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]整天写业务逻辑代码,但偶尔整个配置搞死人(根基不牢),有些细节知识还是欠缺,遇到问题总是搞的很烦躁,通过这篇博文将自己遗忘的知识总结起来。_____________________________________________________________________________________________先贴错误:看起来很简单,按照错误排查一下,就ok,但硬生生搞了半天,还搞的烦躁,这么简单,咋找不到问题呢。分析:看错误可知,找不到mapper文件。查看myb.

大家好,又见面了,我是你们的朋友全栈君。

 整天写业务逻辑代码,但偶尔整个配置搞死人(根基不牢),有些细节知识还是欠缺,遇到问题总是搞的很烦躁,通过这篇博文将自己遗忘的知识总结起来。

_____________________________________________________________________________________________

先贴错误:

看起来很简单,按照错误排查一下,就ok,但硬生生搞了半天,还搞的烦躁,这么简单,咋找不到问题呢。

mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]

分析:

看错误可知,找不到mapper文件。

查看mybatis的配置文件路径是否写正确。

mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]

但看样子写的路径是没问题。 于是将mapper.xml文件放到resource目录下,发现可以访问(下图是路径)。

就在想为什么放在dao层中写路径就访问不到了呢?

mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]

带着问题出发,看了下编译后的target目录,如下图没有打包后的*mapper.xml,大致找到问题了,为什么运行之后将mapper.xml打包不进来呢?百度了下maven打包规则,可知:

mybatis:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource[通俗易懂]

这种情况是这样的,maven打包的时候默认打包src/main/java下的class文件,打包src/main/resources下的配置文件

(上面发现xml不见的契机其实是这样的运行项目,报错,说mapper.java里头的方法bind exception,这个错误就是xml不存在导致的

 

如下往pom文件的bulid节点里头增加如下子节点内容即可解决问题(在pom中添加之后一定要 reimport maven project 胰一下,让配置生效):

 

<!--   **.xml写在src找不到问题解决方案     -->
        <resources>
            <resource>
                <!-- directory:指定资源文件的位置 -->
                <directory>src/main/java</directory>
                <includes>
                    <!-- “**” 表示任意级目录    “*”表示任意任意文件 -->
                    <!-- mvn resources:resources :对资源做出处理,先于compile阶段  -->
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <!--  filtering:开启过滤,用指定的参数替换directory下的文件中的参数(eg. ${name}) -->
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

总结:

maven打包,默认会把src/main/resources下面的配置文件打包进来,src/main/java下的java文件编译打包进来。

一旦配置pom文件里头的resources节点,那么maven打包的时候自动打破默认的捞取配置文件的位置,只捞取我们配置的位置的配置文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147127.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 非常优秀的iphone学习文章总结!

    非常优秀的iphone学习文章总结!Thissitecontainsatonoffuntutorials–somanythattheywerebecominghardtofind!SoIputtogetherthislittlepagetohelpeveryonequicklyfindthetutorialthey’relookingfor.Hopeyou…

    2022年7月12日
    33
  • ETL的开发过程[通俗易懂]

    ETL的开发过程[通俗易懂]在生产环境中,使用shell脚本完成一次etl操作1.定义一个etl函数,里面传入json行数据,用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里,就直接返回空的结果,否则就继续往下执行2.接着获取行里的数据,用for循环判断,如果包含某个值,我就将变量赋值取出,装在集合容器里3.设置sparksession会话,并ena…

    2022年5月23日
    31
  • list的五种去重方法

    list的五种去重方法面试中经常被问到的list如何去重,一般是口述,不需要代码体现,这个时候,思维一定要清晰,可以罗列出集中去重的方法,以展现你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固下面,我就将五种方法逐一展现新建一个list数组:Listlist=newArrayList();list.add(26);list.add(39);list.add(5)…

    2022年5月9日
    55
  • 超级详细的Maven使用教程

    超级详细的Maven使用教程什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包…

    2022年6月12日
    37
  • Java Netty Codecs 程序「建议收藏」

    服务端定义了一个Handler和三个Decoder。Handler接收客户端的信息,然后传递给decoder过滤处理。1.服务端packagecom.learn.netty.codecs;importio.netty.bootstrap.ServerBootstrap;importio.netty.channel.ChannelFuture;importio.netty.channel.ChannelInitializer;importio.netty.channel.E.

    2022年4月12日
    41
  • 代理服务器与反向代理服务器的区别「建议收藏」

    代理服务器与反向代理服务器的区别「建议收藏」代理服务器与反向代理服务器

    2022年5月6日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号