我想在我的 Java 项目中使用 H2 数据库,但不幸的是我无法使用任何外部 .jar
或 .class
文件。 (这是一个不受我控制的构建系统,我只能向它提交源文件,这很愚蠢。)所以我想简单地下载 H2 Java 源并添加所有这些 Java 包和 Java文件直接放入我的项目源文件夹中。
但是,这样做之后,我在 Eclipse 中遇到了 H2 代码库中某些 Java 文件的几个构建错误。例如,文件“org.h2.jdbc.JdbcStatement”有以下错误:“类型JdbcStatement必须实现继承的抽象方法Wrapper.unwrap(Class)”。还有其他几个错误。
所以我的问题是:我如何或应该正确地将 H2 源文件添加到我的 Java 项目中?
最佳答案
H2 的源 jar 文件可在 Maven 存储库中找到,如 download section of the docs 中所述。 。当前版本是:
http://repo2.maven.org/maven2/com/h2database/h2/1.3.166/h2-1.3.166-sources.jar
但是,您可能必须将 H2 的源代码“切换”到目标 Java 版本。 (这是必需的,因为源代码不能同时用于 Java 5 和 Java 6 - 例如,Java 6 中的 JDBC API 必须支持方法 ResultSet.updateNClob(int columnIndex, NClob) x)
,但接口(interface) NClob
在 Java 5 中不可用。)这就是您收到异常“类型 JdbcStatement 必须实现继承的抽象方法 Wrapper.unwrap(Class )”。
要切换源代码,可以使用build script of H2 ,或者您可以自己使用查找/替换:要启用 Java 6,请将字符串 /*## Java 1.6 ##
替换为 //## Java 1.6 ##
源代码。
关于java - 如何将完整的 H2 源代码包含到 Java 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542654/