org.gjt.mm.mysql.Driver 报红问题解决方案
查看mysql-connector-java-8.0.27.jar驱动文件,缺少类:org.gjt.mm.mysql.Driver;将 org.gjt.mm.mysql.Driver 替换为 com.mysql.jdbc.Driver 后发现报错消失 成功解决。org.gjt.mm.mysql.Driver适合5.几的版本,(本人的是8.0.27)发现在yml里面写这个会报错。通过查找资料发现 o
在Java开发中,当使用JDBC(Java Database Connectivity)与MySQL数据库进行交互时,可能会遇到类名 org.gjt.mm.mysql.Driver 报红的问题。这通常意味着你的项目无法识别或加载这个驱动类,这通常是因为使用了旧版本的MySQL Connector/J。自从MySQL Connector/J 5.1.x版本后,官方推荐的驱动类名已经更改为 com.mysql.cj.jdbc.Driver。
1、解决思路
- 当我们写yml配置的时候,如果碰见以下情况问题:
- org.gjt.mm.mysql.Driver适合5.几的版本,(本人的是8.0.27)发现在yml里面写这个会报错
- 通过查找资料发现 org.gjt.mm.mysql.Driver 是com.mysql.jdbc.Driver的前身
- 查看mysql-connector-java-8.0.27.jar驱动文件,缺少类:org.gjt.mm.mysql.Driver;
- 最大支持该类文件的驱动版本为:mysql-connector-java-5.1.47.jar
- 将 org.gjt.mm.mysql.Driver 替换为 com.mysql.jdbc.Driver 后发现报错消失
- 这个时候不报红了,但是还是有问题的,数据库8.0以上版本用的是 com.mysql.cj.jdbc.Driver成功解决
-
更新驱动类名:首先,确保你的代码中使用的驱动类名是最新的。对于MySQL Connector/J 5.1.x及更高版本,应使用 com.mysql.cj.jdbc.Driver。
-
更新依赖:如果你的项目是通过Maven或Gradle等构建工具管理的,确保你的pom.xml或build.gradle文件中引用了正确的MySQL Connector/J依赖项。
-
检查项目库:如果你的项目没有使用构建工具,确保你已将正确的MySQL Connector/J JAR文件添加到项目的类路径中。
-
清理和重新构建:在更新类名和依赖项后,清理并重新构建你的项目以确保更改生效。
2、代码示例
如果你使用的是较新的MySQL Connector/J版本,你应将代码中的驱动类名更改为:
// 旧的驱动类名(不推荐使用)
// Class.forName("org.gjt.mm.mysql.Driver");
// 新的驱动类名
Class.forName("com.mysql.cj.jdbc.Driver");
但是,从JDBC 4.0开始,显式加载驱动类的步骤(Class.forName(…))通常是不必要的,因为JDBC服务提供者机制会自动加载驱动。因此,在大多数情况下,你可以完全移除这行代码。
Maven依赖示例
如果你使用Maven管理项目依赖,确保你的pom.xml文件中包含了类似以下内容的依赖:
xml
<
dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.x</version> <!-- 使用你需要的最新版本 -->
</dependency>
将8.0.x替换为你需要或想要使用的MySQL Connector/J的具体版本号。Gradle依赖示例
如果你使用Gradle管理项目依赖,确保你的build.gradle文件中包含了类似以下内容的依赖:
dependencies {
implementation 'mysql:mysql-connector-java:8.0.x' // 使用你需要的最新版本
}
同样,将8.0.x替换为你需要或想要使用的MySQL Connector/J的具体版本号。
3、注意事项
- 在更新驱动类名或依赖项时,确保你的代码库、构建文件以及所有相关的配置都已更新。
- 如果你在更新后遇到任何编译或运行时错误,请仔细检查你的代码和依赖项配置,以确保它们都是最新的且相互兼容。
- 如果你正在使用IDE(如IntelliJIDEA或Eclipse),确保你的IDE已经正确加载了新的依赖项,并且你的项目已经刷新以反映这些更改。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)