postgresql - gradle脚本类路径仅包含脚本类

标签 postgresql gradle classpath

尝试将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/

相关文章:

postgresql - 从返回多列的函数中选择

android - Android Studio Gradle在加载旧的gradle项目期间挂起

java - 测试的 Gradle 依赖项与编译的不同

java - 用于 aspectj 代理的 websphere 应用程序服务器中的类路径

java - 如何重写sql语句以与hibernate一起工作?

string - 如何遍历 Postgresql 中字符串的字符?

gradle - Gradle Task依赖关系执行问题

java - JMeter 无法识别 user.properties 中的类路径

java - Intellij 无法在类路径中找到类

postgresql - 无法将 Heroku PostgreSQL 转储导入本地数据库