mysql - 来自 jenkins scriptler 的 groovy 脚本无法正常工作。类路径问题

标签 mysql jenkins jdbc groovy

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

mysql 连接器 jar 文件存在于运行 jenkins 的计算机的类路径中。 仅运行 1 台 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 -> 系统信息中,我也可以看到系统环境变量设置。

需要帮助。

最佳答案

Jenkins 存在一个错误,它不会读取环境变量,也不会读取 Jenkins 定义的变量,它会考虑 java native 路径,它是/usr/lib/jvm/java-1.8.0-openjdk-1.8 .0.65-3.b17.el7.x86_64/jre/lib/ext

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

希望这有帮助

关于mysql - 来自 jenkins scriptler 的 groovy 脚本无法正常工作。类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45072261/

相关文章:

PHP/MySQL 致命内存分配错误

mysql - 如何在mysql中快速读取数据和写入数据?

git - Jenkins Git Publisher、多个 repo 和多个 SCM

jenkins - 如何让 Jenkins 构建稍后触发另一个构建?

jenkins - 在 Jenkins 中设置构建状态

mysql create federated all table in database or 联邦数据库

如果组成员没有其他列值,MYSQL 按列分组

java - 对于大量查询,jdbcTemplate.batchUpdate() 出现问题

java - 尝试切换到(使用)数据库时出现 JDBC "Error in MySQL Syntax"

java - jetty 6 : Cannot create context (NoInitialContextException)