我正在尝试使用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
这不是最新版本,或者为什么它首先出现错误?
答案 0 :(得分:4)
听起来你在类路径中丢失了一个jar。我想你不是在使用maven。
我搜索了包含这个类的罐子并想出了这个 http://mavenhub.com/c/org/springframework/dao/DuplicateKeyException/jar
看起来你需要org.springframework.transaction jar。或者使用maven,它应该为你解决你的依赖。