未找到Spring dao类org.springframework.dao.DuplicateKeyException

时间:2013-12-10 16:01:09

标签: java spring classnotfoundexception

我正在尝试使用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

这不是最新版本,或者为什么它首先出现错误?

1 个答案:

答案 0 :(得分:4)

听起来你在类路径中丢失了一个jar。我想你不是在使用maven。

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

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