0 0

mybatis与struts1 [java.lang.NoClassDefFoundError:org/apache/ibatis/io/Resources] 15

在Action中,当我要向数据库中插入一条记录时,报了下面的错误:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources
	org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:294)
	org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
	com.zrxx.action.ProjectAction.execute(ProjectAction.java:33)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources
	com.zrxx.util.SqlSessionFactoryTool.getSqlSessionFactory(SqlSessionFactoryTool.java:30)
	com.zrxx.dao.BaseDao.openSession(BaseDao.java:15)
	com.zrxx.dao.BaseDao.openSession(BaseDao.java:10)
	com.zrxx.dao.ProjectDao.insertPro(ProjectDao.java:13)
	com.zrxx.action.ProjectAction.add(ProjectAction.java:54)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
	org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
	com.zrxx.action.ProjectAction.execute(ProjectAction.java:33)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

这个错误是当dao对象已经创建了,调用dao.insert()时发出的
附上我的SqlSessionFactoryTool源代码:
public class SqlSessionFactoryTool {
	
	private static SqlSessionFactoryTool tool;
	private SqlSessionFactory factory;
	
	
	public static SqlSessionFactoryTool getInstance(){
		if(tool == null)
			tool = new SqlSessionFactoryTool();
		return tool;
	}

	public SqlSessionFactory getSqlSessionFactory(){
		String resource = "/mybatis.xml";
		Reader reader = null;
		
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		factory = new SqlSessionFactoryBuilder().build(reader);
		return factory;
	}

这是我的目录结构



问题补充:
Wind_ZhongGang 写道
ibatis相关包导入不全,看看你的lib下的ibatis包有哪些?

不是只有一个mybatis-3.0.6.jar吗?

问题补充:
edenlee 写道
org/apache/ibatis/io/Resources 是Ibatis核心包的类,明显你没有把ibatis核心包加入运行的classpath:/WEB-INF/lib/下

yes,you're right. thanks
2011年11月30日 12:10
  • 大小: 29.3 KB

2个答案 按时间排序 按投票排序

0 0

采纳的答案

org/apache/ibatis/io/Resources 是Ibatis核心包的类,明显你没有把ibatis核心包加入运行的classpath:/WEB-INF/lib/下

2011年11月30日 17:12
0 0

ibatis相关包导入不全,看看你的lib下的ibatis包有哪些?

2011年11月30日 13:26

相关推荐

    mybatis-3-config/mapper.dtd 解决mybatis头文件报错

    >Window->prefenrence->XML->XML Catalog->User Specifiled Entreis->Add->Location(此处是你放dtd文件的位置例如:‪D:\mybatis\mybatis-3-config.dtd)->Key(如果更改config,此处应该是:-//mybatis.org//DTD ...

    springboot报错:NoClassDefFoundError: org/springframework/transaction/ReactiveTransactionManager

    springboot启动报错:java.lang.NoClassDefFoundError: org/springframework/transaction/ReactiveTransactionManager 不添加org.springframework.boot:spring-boot-starter-data-jpa:2.2.5.RELEASE,只有org....

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    MyBatis是一个流行的Java持久层框架,它简化了数据库操作,通过XML或注解的方式将SQL与Java代码绑定,提供了一种直接操作结果集的方法。在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关...

    mybatis-generator-config_1_0.dtd

    http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd访问不到了怎么办,xml中引用报红,不能校验了 解决办法 mybatis-generator-config_1_0.dtd文件存在于mybatis-generator-core-1.3.2.jar包中,路径如下org/...

    mybatis-3-mapper.dtd

    mybatis-3-mapper.dtd

    mybatis所需jar包

    1. `mybatis.jar`:这是MyBatis的核心库,包含了MyBatis的主要功能,如SQL映射文件解析、动态SQL生成等。它提供了SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession等关键接口,是整个MyBatis框架的基础。 ...

    eclipse中使用xml自动提示功能所需文件:mybatis-3-mapper.dtd

    eclipse中使用xml自动提示功能所需文件:mybatis-3-mapper.dtd eclipse中使用xml自动提示功能所需文件:mybatis-3-mapper.dtd eclipse中使用xml自动提示功能所需文件:mybatis-3-mapper.dtd

    基于SpringMVC+Spring+MyBatis (SSM) 架构的高效率便捷开发框架源码+项目说明.zip

    MyBatis Generator | 1.3.6 | [http://www.mybatis.org/generator/index.html](http://www.mybatis.org/generator/index.html) PageHelper | 5.1.2 | [http://git.oschina.net/free/Mybatis_PageHelper]...

    Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法

    在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...

    电商系统,电商平台后台二次开发优秀模板,采用最新java技术栈,个人珍藏资源

    MyBatisGenerator | 数据层代码生成 | [http://www.mybatis.org/generator/index.html](http://www.mybatis.org/generator/index.html) PageHelper | MyBatis物理分页插件 | ...

    mybatis-3.5.9-API文档-中文版.zip

    Maven坐标:org.mybatis:mybatis:3.5.9; 标签:mybatis、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...

    java.lang.UnsupportedOperationException异常(csdn)————程序.pdf

    `java.lang.UnsupportedOperationException`是Java中的一个运行时异常,它属于`RuntimeException`的子类。这个异常通常在尝试调用一个不支持的操作时抛出。在Java编程中,某些方法可能在特定对象或特定条件下不支持...

    mybatis02 mcls.rar

    【标题】"mybatis02 mcls.rar"是一个与MyBatis框架相关的压缩包,其中包含的文件名为“mcls”。这个压缩包很可能是MyBatis框架第二部分的学习资料或者示例代码,用于深入理解MyBatis的工作原理和使用方法。 【描述...

    demo-mp.zip

    《Mybatis-Plus实战解析与应用》 Mybatis-Plus(简称MP)是Mybatis的扩展插件,它简化了Mybatis的很多繁琐操作,提高了开发效率,尤其在实际项目中,Mybatis-Plus的使用使得数据库操作变得更加便捷。本实战源码主要...

    mybatis-3-mapper.rar

    MyBatis是一个流行的Java持久层框架,它简化了数据库操作,通过XML或注解的方式将SQL与Java代码绑定,使得开发者能够更专注于SQL本身。在处理`mybatis-3-mapper.dtd`这个问题时,我们需要深入理解MyBatis的Mapper...

    mybatis-3.4.6.jar

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 标题中的"mybatis-3.4.6.jar"是MyBatis框架的特定版本,即3.4.6版的Java...

    如何解决Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X

    在整合Spring、Struts2和Mybatis的过程中,可能会遇到各种问题,其中之一就是`java.lang.IllegalArgumentException: Result Maps collection already contains value for X`。这个问题通常出现在Mybatis配置文件中,...

    mybatis-3-mapper.dtd文件下载

    DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.UserMapper"> <select id="selectUser" resultType="com....

    SpringBoot + Mybatis+毕设+后台管理系统

    1、使用说明 使用IDE导入本项目,IDE需要安装lombok插件 创建数据库, 如mysql数据库导入mysql.sql 配置application-dev.yml中的数据库连接 直接运行CompanyProjectApplication.java 项目根目录下执行mvn -X clean ...

Global site tag (gtag.js) - Google Analytics