来自jenkins scriptler的groovy脚本无法正常工作。 classpath问题

时间:2017-07-13 05:42:20

标签: mysql jenkins jdbc groovy

尝试使用jenkins中的groovy脚本通过scriptler插件连接到mysql数据库。 使用jdbc mysql连接器也是如此。

mysql连接器jar文件存在于运行jenkins的机器的类路径中。 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文件。

经理jenkins - >系统信息,我也可以看到系统环境变量。

需要帮助。

1 个答案:

答案 0 :(得分:0)

Jenkins有一个错误,它没有读取环境变量,也没有考虑java本机路径的Jenkins定义的变量,它是/usr/lib/jvm/java-1.8.0-openjdk-1.8 .0.65-3.b17.el7.x86_64 / JRE / lib / ext目录

所以在上面的路径中添加Jdbc jar并重启jenkins

希望这会有所帮助