Mysql jenkins scriptler的groovy脚本无法运行。类路径问题

Mysql jenkins scriptler的groovy脚本无法运行。类路径问题,mysql,jenkins,jdbc,groovy,Mysql,Jenkins,Jdbc,Groovy,试图通过scriptler插件在jenkins中使用groovy脚本连接到mysql数据库。 使用JDBCMySQL连接器进行相同的操作 mysql连接器jar文件存在于运行jenkins的机器的类路径中。 为詹金斯只运行一台机器 下面是代码片段: import java.sql.* import groovy.sql.Sql DriverManager.registerDriver(new com.mysql.jdbc.Driver()) try{ def dbURL = 'jdbc

试图通过scriptler插件在jenkins中使用groovy脚本连接到mysql数据库。 使用JDBCMySQL连接器进行相同的操作

mysql连接器jar文件存在于运行jenkins的机器的类路径中。 为詹金斯只运行一台机器

下面是代码片段:

import java.sql.*
import groovy.sql.Sql
DriverManager.registerDriver(new com.mysql.jdbc.Driver())

try{
    def dbURL = 'jdbc:mysql://x.x.x.x:3306/Employee_DB'
    def dbUserName = 'root'
    def dbPassword = 'root'
    def dbDriver = 'com.mysql.jdbc.Driver'
    def db = Sql.newInstance(dbURL,dbUserName,dbPassword,dbDriver)
    List authors = db.rows('SELECT name FROM Employee')
    print authors

}catch(Exception e){
    print "exception"
}finally{
    //db.close()
}
但是有人说:

Script1.groovy: 5: unable to resolve class com.mysql.jdbc.Driver 
@ line 5, column 30.
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
如果像这样运行,则是同一段代码

groovy 1.groovy
执行成功

但是jenkins scriptler无法检测到这个jar文件

在manager jenkins->system information中,我还可以看到设置的系统环境变量


需要帮助。

Jenkins有一个bug,它没有读取环境变量,也没有考虑java本机路径的Jenkins定义的变量,它是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/ext

因此,在上面的路径中添加JDBCJAR并重新启动jenkins


希望这有帮助

Jenkins有一个bug,它不读取环境变量,也不读取Jenkins定义的变量,它考虑了java本机路径,它是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/ext

因此,在上面的路径中添加JDBCJAR并重新启动jenkins


希望这有帮助

您永远不要调用
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
,如果驱动程序位于类路径上,并且是jdbc 4+驱动程序,它将自动加载。JDBC驱动程序在
DriverManager
中注册自身。永远不要调用
DriverManager.registerDriver(new com.mysql.JDBC.driver())
,如果驱动程序位于类路径上,并且是JDBC 4+驱动程序,它将自动加载。JDBC驱动程序将自己注册到
DriverManager