我正在尝试使用 gradle 任务设置数据库。但是我没有运气找到 postgresql JDBC 驱动程序。在 java 项目中,它找到驱动程序并运行良好(虽然它没有通过 buildscript 获得依赖项),但不是 gradle.build 文件。
我尝试使用 groovy.sql,但遇到了同样的错误。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.postgresql:postgresql:42.2.0'
}
}
import java.sql.*
task testTask {
...
Run Code Online (Sandbox Code Playgroud)
这一行抛出一个错误: 没有为 jdbc 找到合适的驱动程序:postgresql://localhost:5432/db
Connection conn = DriverManager.getConnection(db.url, db.user, db.password)
...
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一些gradle插件,现在我遇到了一个问题,即DriverManager没有看到在buildscript依赖项中定义的JDBC驱动程序:
我有下一个build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("com.h2database:h2:1.4.196")
}
}
plugins {
id "someplugin"
}
apply plugin: 'groovy'
Run Code Online (Sandbox Code Playgroud)
当我调用在任务中定义的扩展DefaultTask的命令时
DriverManager.getConnection("jdbc:h2:mem:", "sa", "")
Run Code Online (Sandbox Code Playgroud)
我收到例外
No suitable driver found for jdbc:h2:mem:
Run Code Online (Sandbox Code Playgroud)
当我对这些类进行单元测试时没有问题 - 只有当我调用调用DriverManager.getConnection的插件任务时才会发生这种情况.
我在这里错过了什么?谢谢!