FAQ(4):javaee使用mybatis,org.apache.ibatis.io.Resources报错

本文记录了解决MyBatis中使用org.apache.ibatis.io.Resources类时遇到的问题,作者因错误导入了zip压缩包而非正确的jar包导致系统无法正确识别资源路径。通过详细排查和修正,最终解决了这一困扰。

这个问题好几天百思不得其解:

下面的Resources应该是org.apache.ibatis.io.Resources的类,但是快捷导入时,系统没给多个选择,直接默认导入了javax.annotation.Resources,说明了jar包导入有问题,然后我巧妙地去寻找软件(eclipse和eclipse ee)之间的差异,避开根源。。

 

                String resource = "conf/mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);

 

 

 

 

 

然后某天早晨发现了端倪---自己导入jar出错了,导入了zip压缩包(无语。。。)

图1

 

图2

 

图3

 

细节很重要啊,千万不要忽略细节!!

欢迎扫二维码关注公众号,获取技术干货

 

D:\Administrator\桌面\大三上册\JAVAEE\jdk-17.0.12\bin\java.exe -javaagent:D:\Administrator\桌面\大三上册\JAVAEE\ideaIU-2024.3.6.win\lib\idea_rt.jar=54940 -Dfile.encoding=UTF-8 -classpath D:\Administrator\桌面\大三上册\JAVAEE\Workplace\exam1\ex7\m1-mybatis\target\test-classes;D:\Administrator\桌面\大三上册\JAVAEE\Workplace\exam1\ex7\m1-mybatis\target\classes;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\junit\junit\4.13.2\junit-4.13.2.jar;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\org\mybatis\mybatis\3.5.19\mybatis-3.5.19.jar;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\com\mysql\mysql-connector-j\8.0.31\mysql-connector-j-8.0.31.jar;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\com\google\protobuf\protobuf-java\3.19.4\protobuf-java-3.19.4.jar;D:\Administrator\桌面\大三上册\JAVAEE\mavenRepositories\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar Test Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in mapper/TitlesMapper.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'mapper/TitlesMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.example.po.Titles'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66) at Test.main(Test.java:15) Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'mapper/TitlesMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.example.po.Titles'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:133) at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:110) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80) ... 2 more Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'mapper/TitlesMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.example.po.Titles'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:125) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:98) at org.apache.ibatis.builder.xml.XMLConfigBuilder.mappersElement(XMLConfigBuilder.java:405) at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:131) ... 4 more Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.example.po.Titles'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:103) at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:105) at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:141) at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:133) at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123) ... 7 more Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.example.po.Titles'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:128) at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:132) at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:101) ... 11 more Caused by: java.lang.ClassNotFoundException: Cannot find class: com.example.po.Titles at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:226) at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:103) at org.apache.ibatis.io.Resources.classForName(Resources.java:322) at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:124) ... 13 more 进程已结束,退出代码为 1 为什么运行不了
最新发布
11-03
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值