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.lang.ClassNotFoundException:com.MySQL.jdbc.driver
的原因是缺少MySQL连接器/J jar。
注意:如果您使用的是更高版本的MySQL Connector/J,那么建议使用com.MySQL.cj.jdbc.driver
而不是com.MySQL.jdbc.driver
我更新了你的剧本。
import groovy.sql.Sql
node('master'){
Class.forName("com.mysql.cj.jdbc.Driver")
def sql = Sql.newInstance("jdbc:mysql://10.10.115.38:3306/test", "root","123456", "com.mysql.cj.jdbc.Driver")
def rows = sql.execute "select count(*) from test;"
echo rows.dump()
}
从这里下载jar:https://mvnrepository.com/artifact/mysql/mysql-connector-