Mysql jenkins scriptler的groovy脚本无法运行。类路径问题
试图通过scriptler插件在jenkins中使用groovy脚本连接到mysql数据库。 使用JDBCMySQL连接器进行相同的操作 mysql连接器jar文件存在于运行jenkins的机器的类路径中。 为詹金斯只运行一台机器 下面是代码片段: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
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
。