source路径等问题 idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)

转载 2016年08月30日 16:31:14

http://blog.csdn.net/witsmakemen/article/details/46913425

在Idea编辑其中配置使用Mybatis出现BuilderException问题,问题描述如下:

  1. 2015-07-16 15:43:32,751 DEBUG [org.apache.ibatis.logging.LogFactory] - Logging initialized using 'org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl' adapter.  
  2. 2015-07-16 15:43:32,825 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] - PooledDataSource forcefully closed/removed all connections.  
  3. 2015-07-16 15:43:32,825 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] - PooledDataSource forcefully closed/removed all connections.  
  4. 2015-07-16 15:43:32,825 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] - PooledDataSource forcefully closed/removed all connections.  
  5. 2015-07-16 15:43:32,825 DEBUG [org.apache.ibatis.datasource.pooled.PooledDataSource] - PooledDataSource forcefully closed/removed all connections.  
  6. Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:   
  7. ### Error building SqlSession.  
  8. ### The error may exist in com/qunar/fresh/mybatistest/mapping/userMapper.xml  
  9. ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/qunar/fresh/mybatistest/mapping/userMapper.xml  
  10.     at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)  
  11.     ... 7 more  
  12. Caused by: java.io.IOException: Could not find resource com/qunar/fresh/mybatistest/mapping/userMapper.xml  
  13.     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:104)  
  14.     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:91)  
  15.     at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:309)  
  16.     at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:103)  
  17.     ... 9 more  

问题:在编译后的target文件夹下,发现只有mapper的class文件,而没有xml文件,将对应的xml文件放到这个文件夹下运行就不会出现下面的错误。说明出现这个错误的原因是maven编译时没有将xml文件放进去。

解决方法:在pom.xml中添加如下代码

  1. <build>  
  2. ...  
  3.         <resources>  
  4.             <resource>  
  5.                 <directory>src/main/java</directory>  
  6.                 <includes>  
  7.                     <include>**/*.xml</include>  
  8.                 </includes>  
  9.                 <filtering>true</filtering>  
  10.             </resource>  
  11.         </resources>  
  12. ...  
  13. </build> 

mybatis读取配置文件报错:Could not find resource configuration.xml

码如下:

Java代码  收藏代码
  1. Reader reader = null;     
  2.         try {     
  3.             reader = Resources.getResourceAsReader("configuration.xml");   
  4.         } catch (IOException e) {     
  5.             e.printStackTrace();     
  6.         }  

 

执行之后报错:

Java代码  收藏代码
  1. java.io.IOException: Could not find resource configuration.xml  
  2.     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:89)  
  3.     at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:76)  
  4.     at org.apache.ibatis.io.Resources.getResourceAsReader(Resources.java:134)  

 

 

说明:在项目src/main/resources目录下存在configuration.xml这个文件。



http://stackoverflow.com/questions/19730026/mybatisibatis-xml-mapping-configuration

1
 

I'm using MyBatis 3.2.2 and I have problems loading XML mappers as resources.

<mappers>
    <mapper resource="src/main/resources/Conference.xml" />
</mappers>
1
 

I'm using MyBatis 3.2.2 and I have problems loading XML mappers as resources.

<mappers>
    <mapper resource="src/main/resources/Conference.xml" />
</mappers>

Exception

nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource src/main/resources/Conference.xml

1 down vote accepted
 

You are using Maven, so you can leave off the src/main/resources path altogether, as Conference.xml will be found at the root of your classpath. This should work:

<mappers>
    <mapper resource="Conference.xml" />
</mappers>












mybatis错误——java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

Mybatis加载Mapper的xml出现java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

Could not find resource FancyMapper.xml

mybatis和spring整合加载mapper.xml文件: --> 报错: Could not find resource FancyMapper.xml 我...

MyBatis配置报错java.io.IOException: Could not find resource mybatis-conf.xml

参考:http://blog.csdn.net/u010648555/article/details/70880425 本人用的也是IDEA,maven搭建的项目。 项目目录如下: ...

springMVC整合mybatis时候配置mybatis-config异常

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceI...

IDEA搭建mybatis项目之异常:java.io.IOException: Could not find resource mapping/UserMapper.xml

IDEA搭建mybatis项目之异常:java.io.IOException: Could not find resource mapping/UserMapper.xml由Eclipse转用IDEA...

mybatis使用Resources读取配置文件

Resources(com.ibatis.common.resource.*)    Resources 类为从类路径中加载资源,提供了易于使用的方法。处理 ClassLoader 是一项   富于挑...
  • xiaozaq
  • xiaozaq
  • 2017年01月07日 14:46
  • 2696

记一次mybatis的classpath踩坑记录

spring + mybatis配置路径错误引起的错误

Mybatis中接口和对应的mapper文件位置配置深入剖析

首先要说明的问题是,Mybatis中接口和对应的mapper文件不一定要放在同一个包下,放在一起的目的是为了Mybatis进行自动扫描,并且要注意此时java接口的名称和mapper文件的名称要相同,...
  • lmy86263
  • lmy86263
  • 2016年12月01日 23:43
  • 14983

java.io.IOException: Could not find resource SqlMapConfig.xml

问题的来源:当我们在项目中和src同级的目录创建一个文件config时,在此文件中编写了SqlMapConfig.xml , 此时我们需要读取此配置文件来创建SqlSessionFactory 来作为...
  • JJ_nan
  • JJ_nan
  • 2017年03月19日 17:11
  • 3435

mybatis配置报错java.io.IOException: Could not find resource mybatis-config.xml

mybatis默认的根目录是项目的src目录,所以如果在getResourceAsStream()方法中只传入配置文件的文件名,系统回去src目录中找配置文件,这时候肯定找不到,解决方法有两种:一种,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:source路径等问题 idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)
举报原因:
原因补充:

(最多只允许输入30个字)