为什么Jenkins管道抛出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver?

问题描述 投票:1回答:1

Jenkins管道抛出的异常。

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

我已经安装了数据库插件MySQL数据库插件

但是我仍然遇到这个异常。

管道代码:

import groovy.sql.Sql

node('master'){
    Class.forName("com.mysql.jdbc.Driver")
    def sql = Sql.newInstance("jdbc:mysql://10.10.115.38:3306/test", "root","123456", "com.mysql.jdbc.Driver")
    def rows = sql.execute "select count(*) from test;"
    echo rows.dump()
}

异常消息:

 Running on Jenkins in /var/jenkins_home/workspace/test-jdbc
 [Pipeline] {
 [Pipeline] }
 [Pipeline] // node
 [Pipeline] End of Pipeline
 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)

我正在使用Jenkins版本2.222.1

java mysql jenkins jdbc
1个回答
0
投票

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的原因如下:

  1. MySQL JDBC连接器jar可能会丢失。

  2. 如果使用的是更高版本的MySQL JDBC连接器,则必须更改类名-它是com.mysql.cj.jdbc.Driver而不是com.mysql.jdbc.Driver

从此处下载jar:https://mvnrepository.com/artifact/mysql/mysql-connector-java


0
投票

enter image description here

更改类名仍然不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.