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条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能