Could not resolve resource location pattern错误解决方案

此类问题还有mapperLocations类型出错等问题,sqlSessionFactory bean无法加载等.具体错误简化如下:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userMapper' defined in file [D:\git responsitory\panda\target\classes\org\panda\dao\UserMapper.class]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [org/panda/mapping/*.xml]: ServletContext resource [/org/panda/mapping/] cannot be resolved to URL because it does not exist

 

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [org/panda/mapping/*.xml]: ServletContext resource [/org/panda/mapping/] cannot be resolved to URL because it does not exist

 

Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [org/panda/mapping/*.xml]: ServletContext resource [/org/panda/mapping/] cannot be resolved to URL because it does not exist

 

Caused by: java.lang.IllegalArgumentException: Could not resolve resource location pattern [org/panda/mapping/*.xml]: ServletContext resource [/org/panda/mapping/] cannot be resolved to URL because it does not exist

 

最后一条错误信息是关键,就是启动tomcat的时候无法找到xml文件,在确保你的所有配置文件均没有问题的情况下,检查一下target文件夹下面是否包含了mapping的xml文件.

报错前:

153520_wpLH_2481244.png

说明xml文件没有被maven打包到target下面.在pom.xml的<build>标签中加入:

<resources>
   <resource>
    <directory>src/main/java</directory>
    <includes>
       <include>**/*.xml</include>
    </includes>
    <filtering>true</filtering>
   </resource>
</resources>

这样,重新 clean package tomcat:run,你就会发现如下:

153749_ozwB_2481244.png

 

总结:maven在编译和打包文件时会将xml文件漏掉,有的ide不会,但是我的idea会,所以在pom.xml中加入以上代码,便可解决问题!

转载于:https://my.oschina.net/qkmc/blog/1524266

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值