尝试将jdbc postgresql驱动程序添加到gradle脚本中,我使用了bildscript.dependencies.classpath DSL,但groovy.sql.Sql找不到它。所以我尝试打印类路径:((URLClassLoader)this.class.classloader).getURLS.each{
println("#### ${it}")
}
仅打印了gradle temp编译文件所在的目录,那么其余所有目录都在哪里? jar ?
顺便说一句,我可以在我的脚本中使用来自postgres sql包的import和instantiate类。
我的猜测是,sql包会在与我相同的错误类加载器中查找该类,因此有人知道如何持有该类加载器吗?实例化驱动程序并将其添加到DriverManager可以解决该问题吗?
最佳答案
为了克服我的Gradle脚本中DriverManager
的问题,该脚本本质上是Groovy脚本。我必须做相当于
GroovyObject.class.classLoader.addURL(new File('path/to/jar/with/sql/driver.jar').toURI().toURL())
Class.forName('foo.bar.sql.Driver')
之后才可以做
Sql.newInstance dbConnectionString, dbUser, dbPassword
。也许这可以帮助您使其运行起来。
关于postgresql - gradle脚本类路径仅包含脚本类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36680399/