引入依赖
从 6.8.1 起,驱动提供普通包和 alone 包,两者的数据库访问能力相同。
| 对比项 | 普通包 | alone 包 |
|---|---|---|
| 打包方式 | 内置部分组件,其余依赖由 Maven/Gradle 引入 | 驱动和全部必需的运行依赖 shaded 到同一个 JAR |
| SDK 版本 | Jedis 为外部依赖,可选择兼容版本 | 固定在包内,不能独立选择版本 |
| 优点 | 便于按应用要求自定义 SDK 版本 | 一个 JAR 即可使用,无需自行凑齐运行依赖 |
| 代价 | 自定义版本或手动加载时,需要协调依赖 | 包体积较大,内置 SDK 版本随驱动构建固定 |
| 场景举例 | 编程开发中需要指定兼容 SDK 版本的 Java 应用 | DataGrip、DBeaver,或不需要自定义 SDK 版本的编程开发 |
普通包将 Jedis(redis.clients:jedis)作为外部依赖,可通过 Maven 依赖管理或 Gradle 版本约束选择兼容版本。更换版本后需验证兼容性,并非任意跨大版本替换都能工作。
普通包
在 Maven/Gradle 管理的应用中,选择下面任意一种完整配置即可,无需填写 classifier。
Maven
<dependency>
<groupId>net.hasor</groupId>
<artifactId>jdbc-redis</artifactId>
<version>6.8.2</version>
</dependency>
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation "net.hasor:jdbc-redis:6.8.2"
}
手动加载普通 JAR 时,还需要补齐 POM 声明的外部依赖。
alone 单包
希望一个 JAR 即可使用、不需要自定义内置 SDK 版本时,可以选择 alone。它既适合 JDBC 工具,也可用于编程开发。这里的 shaded 指合并运行依赖,并不表示所有依赖都做了包名重定位。
Maven
将下面的完整依赖放入 pom.xml。classifier 用来选择同一驱动、同一版本下的 -alone.jar 文件。
<dependency>
<groupId>net.hasor</groupId>
<artifactId>jdbc-redis</artifactId>
<version>6.8.2</version>
<!-- 选择包含运行依赖的单包 -->
<classifier>alone</classifier>
<!-- 运行依赖已包含在包中,不再引入重复的 JAR -->
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
Gradle
坐标末尾的 :alone 表示选择单包版本。
repositories {
mavenCentral()
}
dependencies {
implementation("net.hasor:jdbc-redis:6.8.2:alone") {
// 运行依赖已包含在 alone 包中
transitive = false
}
}
两个产物共用 POM,因此示例中的 Maven exclusions 和 Gradle transitive = false 用于避免再次引入已经合并进 alone 的依赖,不会删除 JAR 内的类。
驱动下载、URL 模板及 DataGrip、DBeaver 配置步骤见 SQL Client。
同一驱动只选一种包,不要同时加载普通包和 alone,也不要另加 SDK JAR 尝试替换内置版本。两种包都不包含 dbVisitor ORM 模块,需要 ORM 时另行引入。