java - 如何确定 Maven 依赖项的 MySQL / MariaDB 版本?
问题描述
我正在编写一个简单的 Maven 项目来访问我的 MySQL / MariaDB 数据库。为了下载正确的数据库连接器 jar 文件,我添加了以下 Maven 依赖项:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>provided</scope>
</dependency>
5.1.47
基于已经在我的计算机上运行的以前的项目,我“偶然”得到了那个版本。
但是,当我在终端上键入mysql -V
(大写 V)来检查我的 MySQL/MariaDB 版本时,我得到以下信息:
>mysql -V
mysql Ver 15.1 Distrib 10.4.6-MariaDB, for Win64 (AMD64), source revision b8e655ce029a1f182602c9f12c3cc5931226eec2
但10.4.6
就确定一个合适的版本来设置我的 Maven 依赖项而言,那个版本对我来说意义不大。
根据我的本地 MySQL / MariaDB 服务器确定 Maven 依赖项的 MySQL 版本的过程是什么?
解决方案
根据我的本地 MySQL / MariaDB 服务器确定 Maven 依赖项的 MySQL 版本的过程是什么?
你不能。它们是不同的东西。maven中指定的一个是客户端版本,而您检查的一个mysql -V
是服务器版本。JDBC 客户端版本不需要与服务器版本完全匹配。
相反,您需要确保服务器支持您使用的客户端版本。
从官方文档来看,5.1.47 应该支持 MySQL 5.61、5.71、8.0。而且从 MariaDB 的兼容性矩阵来看,MariaDB 10.4.6 与 MySQL 5.6 和 5.7 是可比的,这意味着您使用的 JDBC 客户端版本应该没有问题。但如果可能的话,您可以将客户端更新到 8.0 系列版本,这是官方推荐的,也应该可以与您现有的 MariaDB 版本一起使用。
推荐阅读
- node.js - 错误对话框不会因 IBM Cloud node-red on outdate node.js 配置而消失
- c++ - 如何垂直更改河内塔输出显示?
- python-3.x - 是否可以在两个不同的虚拟机上使用 Python 创建客户端服务器模型并让它们相互连接?
- javascript - Chrome 开发者工具源不显示源文件
- assemblyscript - 如何在 AssemblyScript / Near 中打印数组的长度?
- r - 移动使用身份验证的闪亮应用程序的注销按钮
- python - 条件分组语句
- laravel - Laravel 条件 API 资源即使不需要也执行所有功能?
- java - 使用似乎没有密码的现有密钥库为应用程序签名
- java - 根据婚姻状况查找税收收入