gpt4 book ai didi

groovy - gradle build.gradle 依赖项 - oracle 驱动程序?

转载 作者:行者123 更新时间:2023-12-03 03:10:25 24 4
gpt4 key购买 nike

我对 build.gradle 文件本身有一个 jar 依赖项。我正在使用这个定义:

buildscript {
repositories {
flatDir {
dirs 'lib'
}
}
dependencies {
classpath name: 'ojdbc16'
}
}

有了这个任务:
task mytask() << {
String updateQuery = "somequery"
println "Setting up test user with query:\n${updateQuery}"
Sql sql = Sql.newInstance("jdbc:oracle:thin:@//host:port/sid", user, password, 'oracle.jdbc.driver.OracleDriver')
boolean successful = sql.execute(updateQuery)
}

但我得到这个异常(exception):
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:452)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:436)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:60)
... 54 more
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at build_5kgfd83hhriam4rhlh34a1l160$_run_closure3.doCall(/Users/localadmin/projects/test-case-runner/build.gradle:41)
... 57 more

这里会发生什么?我没有收到关于类路径定义的任何错误,所以我假设我的依赖项解析工作正常。什么可能失败?

最佳答案

repositories {
flatDir name: 'localRepository', dirs: 'lib'
}

configurations {
driver
}

task mytask() << {
URLClassLoader loader = GroovyObject.class.classLoader
configurations.driver.each {File file ->
loader.addURL(file.toURL())
}
Class driverClass = loader.loadClass('oracle.jdbc.OracleDriver')
Driver driverInstance = driverClass.newInstance()
java.sql.DriverManager.registerDriver(driverInstance)

Sql sql = Sql.newInstance('jdbc-url','username','password')
}

关于groovy - gradle build.gradle 依赖项 - oracle 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com