我已经附加了我的build.gradle文件的标题以及我用于查询数据库的任务。我正在尝试访问数据库,从数据库中提取特定版本号,然后将其保存在其他地方。
import java.text.SimpleDateFormat
import java.*
import groovy.sql.Sql
apply plugin: 'com.android.application'
configurations
{
sshAntTast
svnant
}
repositories
{
mavenCentral()
}
dependencies
{
// Compiles commonlib (commonlib compiles Appcompat so erg will have access
// to appcompat through commonlib)
compile project(':commonLib')
// Project requires plugins and assistance to use the SCP function from Ant
sshAntTask 'org.apache.ant:ant-jsch:1.7.1', 'jsch:jsch:0.1.29'
// Acquires Sqlite and driver from Maven in order to compare databases
testCompile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.7.2'
}
task updateDatabase (dependsOn: 'prepareDatabase', type:Zip) {
doFirst {
def oldDb = 'jdbc:sqlite:/$databaseLoc/unzipped'
def dbDriver = 'org.hsqldb.JDBCDriver'
def sql = Sql.newInstance(oldDb, dbDriver)
sql.row("select * from database_version"){
println "nndB Version = ${it.version}"
}
sql.close()
}
}
我得到:
- 出了什么问题: 任务 ':wiser:updateDatabase' 的执行失败。
java.lang.ClassNotFoundException: org.hsqldb.JDBCDriver
当我尝试执行 gradle updateDatabase 时。我也尝试使用不同的软件包更改驱动程序,但我不断收到相同的错误。我也尝试在我的类路径中添加编译 jar 文件,但似乎没有任何效果。任何帮助都会很棒。
发生这种情况是因为在执行时 gradle 的类路径中没有 hsql 驱动程序 jar。
您需要在 gradle 脚本中使用类似的东西
buildscript {
dependencies {
classpath files("somelibfolder/hsqldb.jar")
}
}