我有一个jar依赖build.gradle文件本身。我使用这样的定义:gradle build.gradle依赖 - oracle驱动程序?
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)
}
但我得到这个异常:
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
什么可怎么回事呢?我没有得到有关类路径定义的任何错误,所以我假设我的依赖关系解析工作正常。什么可能会失败?
胡乱猜测的工作,但我注意到你的依赖被命名为“ojdbc16”,有你改名为罐子?原来的名字是'ojdbc6' – rlovtang 2012-03-14 18:15:28
您是否尝试过'classpath':ojdbc16:''而不是?我相信你的JAR文件没有一个定义的版本号,用破折号分隔它的文件名吗? – 2012-03-14 19:24:52
如果你阅读下面我更新的答案,语法是好的:P。 – 2012-03-14 20:39:49