【问题标题】:Spring dao class not found org.springframework.dao.DuplicateKeyException找不到 Spring dao 类 org.springframework.dao.DuplicateKeyException
【发布时间】:2013-12-28 05:58:48
【问题描述】:

我正在尝试使用jdbcTemplate.query,但我得到了找不到类的错误。我正在使用 spring-dao 2.0.8 并查看了库内部,确实找不到任何 DuplicateKeyException 类。来自maven repository,这似乎是 spring-dao 的最新版本。

我得到错误的代码是:

ResultSet resultSet = (ResultSet)jdbcTemplate.query (query, new ResultSetExtractor<ResultSet>() {
            @Override
            public ResultSet extractData(ResultSet rs) throws SQLException, DataAccessException {
                return rs;
            }
        });

还有堆栈:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/dao/DuplicateKeyException
    at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
    at DAO.MySQLAccess.getAccounts(MySQLAccess.java:95)
Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DuplicateKeyException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 7 more

这不是最新版本还是为什么首先给出错误?

【问题讨论】:

    标签: java spring classnotfoundexception


    【解决方案1】:

    听起来你的类路径中缺少一个 jar。我猜你没有使用 maven。

    我搜索了包含这个类的 jars 并想出了这个。
    http://mavenhub.com/c/org/springframework/dao/DuplicateKeyException/jar

    看起来您需要 org.springframework.transaction jar。或者使用 maven,它应该会为您解决依赖关系。

    【讨论】:

    • 你是对的,它缺少spring-tx jar。奇怪的是它没有提到它,而是在spring-dao 中要求一个类,我已经包含了。我没有使用 Maven,因为我已经在没有它的情况下启动了项目并且没有时间尝试它。以前从未使用过 Maven。
    • 因为没有时间,我推迟了很久尝试 maven。最终我咬紧牙关,希望我能早点完成。我刚刚安装了 eclipse 插件并尝试创建一个新项目。公平地说,新项目向导有点繁琐,但是一旦您在那里获得了基本项目,它就会使其他一切变得非常容易。我不再需要四处寻找丢失的罐子。我们还使用它来自动化单元测试和代码生成。恕我直言,值得一看。
    • P.S.感谢您的支持。您的错误是 ClassNotFoundException 通常是缺少依赖项。但它不会告诉你需要哪个罐子,你必须在网上四处寻找才能找到。
    • 谢谢,会尝试调查。我正在使用 Netbeans,将不得不看看如何将我的项目迁移到 Maven。会给它一些时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2020-11-24
    相关资源
    最近更新 更多