【发布时间】:2015-02-27 11:01:43
【问题描述】:
使用 MySQL ResultSetImpl 时出现以下错误:
在我参与的项目中,我们遇到了问题,ResultSet 在使用之前被关闭,因此引发异常。
为了分析这个错误,我想在ResultSet.close() 方法中添加一个Thread.dumpStack(),这样我就可以识别错误调用的来源。
为了能够修改代码,我从这个位置下载了 MySQL 包并解压:http://dev.mysql.com/downloads/connector/j/
我选择了“platform Independent”packacke 进行下载。
之后,我将“com”和“org”包复制到我的项目src文件夹中,并从lib文件夹中删除了mysql-jdbc.jar ,随后从 Eclipse 项目设置中的 java 构建路径中删除 jar。
在项目清理和重建后,我遇到了数百个编译错误,例如
Exception SQLException is not compatible with throws clause in Driver.getParentLogger() or
The type FabricMySQLConnectionProxy must implement the inherited abstract method Connection.createSQLXML()`" or
The type CallableStatement must implement the inherited abstract method CallableStatement.getNString(int)`".
现在我在想 MySQL 的人应该能够打包一个可编译的 jar 文件,所以我很感谢我忽略的任何东西,以及任何关于我应该做些什么来让这个东西工作的意见。
【问题讨论】:
-
继续使用您的二进制 jar 可能会更容易,将您下载的源代码附加到它(在依赖项中找到 jar,右键单击附加源)。然后你就可以设置断点了
-
您好,是的,这是一种方法,但有点不切实际,因为在出现错误之前会多次调用此方法。我宁愿搜索日志而不是在 Eclipse 中无休止地按“F8”;)但无论如何感谢您的想法!