我正在使用Ready API 1.4.0,我尝试使用这个groovy代码连接到postgresql。
import groovy.sql.Sql
import java.sql.Driver
def driver = Class.forName('org.postgresql.Driver').newInstance() as Driver
def props = new Properties()
props.setProperty("DB_user", "user")
props.setProperty("DB_password", "user")
def conn = driver.connect("jdbc:postgresql://localhost:54320/database_name", props)
def sql = new Sql(conn)
try {
sql.eachRow("select * from user") {
log.debug(it)
}
} finally {
sql.close()
conn.close()
}
然后我收到了这个错误:
java.lang.ClassNotFoundException:org.postgresql.Driver at line:4
我在bin / ext中添加了这个jar lib 的PostgreSQL-9.4-1205.jdbc42.jar
请帮忙吗?谢谢。
答案 0 :(得分:6)
尝试使用Grape来获取PostgreSQL驱动程序。
@GrabConfig(systemClassLoader=true)
@Grab(group='org.postgresql', module='postgresql', version='9.4-1205-jdbc42')
请参阅http://docs.groovy-lang.org/latest/html/documentation/grape.html#Grape-JDBCDrivers
答案 1 :(得分:0)
我有同样的问题。因此,请手动下载postgres驱动程序并加载到Jenkins主服务器Java的lib目录中。
PostgreSQL JDBC 4.2驱动程序,42.2.14 https://jdbc.postgresql.org/download.html
重新启动Jenkins服务后,其工作正常。