地理工具 10 RC1 + hsqldb 2.3

Posted

技术标签:

【中文标题】地理工具 10 RC1 + hsqldb 2.3【英文标题】:geotools 10 RC1 + hsqldb 2.3 【发布时间】:2013-09-02 19:39:15 【问题描述】:

我目前正在开发一个使用 hsqldb 2.3 作为可选数据库的 Swing 项目... 这个项目有一个地图,geotools 也使用 hsqldb,但是它使用的是 hsqldb 1.8。 我试图让他们一起工作,但我得到了这个例外:

"原因:java.lang.ClassNotFoundException: org.hsqldb.jdbc.jdbcDataSource"

我检查了源代码,我相信它发生的原因是因为在 2.3 上,“jdbc”这个词是大写的: "org.hsqldb.jdbc.JDBCDataSource"

我不知道从这里做什么。如果我添加两个 jar,我会收到一个类冲突错误。 欢迎任何建议....

【问题讨论】:

【参考方案1】:

似乎在 hsqldb 1.8 上还有一些其他依赖项。您可以从修改 GeoTools 并更改对新类的引用开始。 GeoTools 脚本中的 SQL 语句通常是兼容的,但某些用法可能需要更新。运行脚本时您会发现是否出现错误。

https://github.com/geotools/geotools/tree/master/modules/plugin/epsg-hsql/src/main/java/org/geotools/referencing/factory/epsg

请注意,在源代码中使用 CREATE ALIAS 可能是多余的,可以删除。

查看同一源代码树中 SQL 的资源目录。

【讨论】:

我很欣赏这个答案,但这会产生一些复杂的解决方案。我决定使用 H2 作为嵌入式数据库。工作正常,我不需要在框架内更改任何内容。另外,我了解了 H2,它是一个非常强大的工具,因为它提供了简单性。

以上是关于地理工具 10 RC1 + hsqldb 2.3的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JDBC 工具访问 hsqldb 数据库?

通过 SQL 工具运行的 HSQLDB 存储过程抛出扫描仪错误

将 HSQLDB 传输工具与 MySQL 一起使用时出现问题

GlobalMapper精品教程032:浏览地理照片及航线信息(航测应用)

如何启用 HSQLDB 管理器工具菜单,因为它已被禁用

wgs84和cgcs2000坐标转换