jenkins groovy ClassNotFoundException:com.mysql.jdbc.Driver

64jmpszr  于 2023-05-28  发布在  Mysql
关注(0)|答案(1)|浏览(138)

我一直在寻找这个问题的答案很长一段时间没有任何运气。

Jenkins: 2.405
Database Plugin: 191.vd5981b_97a_5fa_
MySQL Database Plugin: 1.4

错误消息:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:511)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

代码:

import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://foo.com/somedb", "user", "pass", "com.mysql.jdbc.Driver")
query = "SELECT somefield FROM sometable WHERE somefield REGEXP '$somevar' AND environment='$someenv' AND status='$somestatus'"
def result = sql.rows(query).collect{ it.name }.sort{ it.find(/\d+$/) as int }

我尝试了其他帖子中提供的解决方案,但不起作用Class.forName("com.mysql.jdbc.Driver")
我尝试了其他帖子中提供的解决方案,但不起作用Class.forName("com.mysql.cj.jdbc.Driver")
我尝试手动加载jar println System.getProperty("java.ext.dirs"),但此参数在此版本的Jenkins中不可用。
我该如何解决这个问题?

xn1cxnb4

xn1cxnb41#

看来我是按照以下步骤想出来的:

cp ~/plugins/database-mysql/WEB-INF/lib/mysql-connector-java-8.0.22.jar ~/war/WEB-INF/lib

然后重启Jenkins哇!好用。

相关问题