分发
驱动程序模块和依赖项
该驱动程序包含 3 个模块
- neo4j-jdbc
-
这是 Neo4j 的实际 JDBC 实现
- neo4j-jdbc-translator-spi
-
这是用于默认 SQL 到 Cypher 转换实现以及任何进一步或自定义实现的 SPI。
- neo4j-jdbc-translator-impl
-
这是 SQL 到 Cypher 转换器的默认且可选实现。它提供了一种将 SQL 语句转换为语义等效 Cypher 语句的有点主观的方法。
如果您只想使用 Neo4j JDBC 驱动程序运行 Cypher® 语句,则只需要 org.neo4j:neo4j-jdbc 模块。只要您在具有适当依赖项管理的环境中进行开发,这就是您需要声明的全部内容。 |
虽然转换器 SPI 是必需的依赖项,并且通过 Maven 或 Gradle 引入,但实际实现不是。这允许:
-
如果您不需要 SQL 到 Cypher 的转换,则可选择不使用额外的依赖项
-
我们的实现需要不同的 JDK 基线或许可模块
-
允许您创建替代转换器
依赖项
有两个“无依赖项”模块,它们将所有内容打包成一个二进制工件。这些捆绑包涵盖了许多工具(请参阅可用捆绑包)。
驱动程序的直接编译时依赖项列于下方
org.neo4j:neo4j-jdbc
+- io.github.cdimascio:dotenv-java
+- io.netty:netty-handler
| +- io.netty:netty-common
| +- io.netty:netty-resolver
| +- io.netty:netty-buffer
| +- io.netty:netty-transport
| +- io.netty:netty-transport-native-unix-common
| \- io.netty:netty-codec
+- org.neo4j:neo4j-cypher-dsl-schema-name-support
+- org.neo4j:neo4j-jdbc-translator-spi
可用捆绑包
所有 Neo4j JDBC 驱动程序捆绑包都在 Maven Central 上分发。这些捆绑包具有不同的特性:根据您的用例或环境,您可以选择其中一个捆绑包,但不能同时选择两者。
独立组件
如果您有一个使用依赖项管理的应用程序,并且您无需自己处理二进制工件,请选择此分发版。
我们提供一个 Maven BOM 项目,在使用各个模块时应导入该项目,以便始终拥有一致的版本集。其坐标为 org.neo4j:neo4j-jdbc-bom 。 |
对于 Maven,请使用此依赖项声明
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc</artifactId>
<version>6.5.1</version>
</dependency>
对于 Gradle,您需要声明以下运行时依赖项
dependencies {
runtimeOnly 'org.neo4j:neo4j-jdbc:6.5.1'
}
如果您想使用 Neo4j 的 SQL 到 Cypher 转换,则需要在 Maven 构建中添加以下依赖项
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-translator-impl</artifactId>
<version>6.5.1</version>
</dependency>
以及相同的坐标,但适用于 Gradle
dependencies {
runtimeOnly 'org.neo4j:neo4j-jdbc-translator-impl:6.5.1'
}
小型捆绑包
如果您使用 ETL 工具或关系数据库工具,并且这些工具只允许将 JDBC 驱动程序添加为单个工件或使得添加额外 jar 文件变得不必要的困难,请选择此分发版。此捆绑包不包含默认的 SQL 到 Cypher 转换器!此捆绑包的坐标是 org.neo4j:neo4j-jdbc-bundle
,您可以从 Maven Central 下载它
所有捆绑包也可以用作普通项目依赖项。例如,如果您的项目依赖于不同且可能冲突的 Netty 版本,这可能会很有用。 |
完整捆绑包
此捆绑包包含默认的 SQL 到 Cypher 转换器。否则,它与小型捆绑包相同。其坐标是 org.neo4j:neo4j-jdbc-full-bundle
,您可以从 Maven Central 下载它,网址为