yang649459172 2011-11-30 12:10
浏览 1463
已采纳

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

在Action中,当我要向数据库中插入一条记录时,报了下面的错误:
[code="java"]
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)
[/code]
这个错误是当dao对象已经创建了,调用dao.insert()时发出的
附上我的SqlSessionFactoryTool源代码:
[code="java"]
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;
}

[/code]
这是我的目录结构

[img]http://dl.iteye.com/upload/attachment/597707/8f659481-6204-34e4-9c24-18ba93290695.png[/img]

  • 写回答

2条回答 默认 最新

  • 撸成 2011-11-30 17:12
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿