【问题标题】:Where is org.apache.derby.jdbc.ClientDriver for version 10.15.1.3?10.15.1.3 版的 org.apache.derby.jdbc.ClientDriver 在哪里?
【发布时间】:2019-12-04 14:00:17
【问题描述】:

我已经通过 Maven Central (org.apache.derby) 下载了驱动程序。

  1. derby-10.15.1.3.jar
  2. derbyclient-10.15.1.3.jar
  3. derbynet-10.15.1.3.jar
  4. derbyshared-10.15.1.3.jar

那么我错过了什么?这些 JAR 中没有一个包含“org.apache.derby.jdbc”包,过去曾包含 ClientDriver 和 EmbeddedDriver?

【问题讨论】:

  • 好的,我正在使用 Java 11。我假设我使用 Class.forName(driverClass) ?不幸的是,我是模块的新手,如何使它们在类路径中可见?示例将不胜感激。
  • 我通常不使用 Derby,但从阅读这些发行说明来看,您似乎需要 derbytools JAR。并且不要从 Maven 手动下载东西,而是使用 Maven(或 Gradle),因为它们会自动下载任何必要的依赖项。
  • 我错过了 derbytools .....谢谢大家。

标签: jdbc derby


【解决方案1】:

看起来 derbytools 依赖于 derbyshared,因此您不必在 pom.xml 中将 derbyshared 列为依赖项(仅 derbytools)。

但是,这似乎与其他所有 jdbc 客户端对其他所有数据库的工作方式背道而驰。而不是更新文档说您必须包含额外的依赖项,Derby 应该使 derbyclient 独立(更好的解决方案)或让 maven derbyclient 依赖 derbytools(这样当这个依赖问题得到解决时,人们就不必回去了并更新他们的 pom.xmls 以删除不需要的依赖项)。

【讨论】:

    【解决方案2】:

    确实,要在 Derby 10.15 中使用 Derby 客户端驱动程序,您现在需要以下所有三个:derbyclient.jarderbyshared.jarderbytools.jar。这是(弱)记录的here

    添加了一个新的 jar 文件 (derbyshared.jar)。所有德比 配置需要它。此外,derbytools.jar 库是 现在在运行网络服务器和/或使用 Derby 时需要 数据源。

    由于您正在运行网络服务器,您现在需要derbytools.jar(以及运行客户端软件时新的derbyshared.jar

    我认为值得向 Derby 社区建议,发行说明可以使这一点更加清晰(例如,您可以向 Derby 项目提交改进请求)

    【讨论】:

    • 谢谢,我错过了“derbytools”。我也改为使用新的“org.apache.derby.client.ClientAutoloadedDriver”。幸运的是,没有必要乱搞 Java 9 模块化。
    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2016-12-20
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多