我已经为我的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 "\n\ndB Version = ${it.version}"
}
sql.close()
}
}
我得到了:
java.lang.ClassNotFoundException:org.hsqldb.JDBCDriver
当我尝试执行gradle updateDatabase时。我也尝试使用不同的软件包更改驱动程序,但我不断收到相同的错误。我也尝试在我的类路径中添加编译jar文件,但似乎没有任何工作。任何帮助都会很棒。
答案 0 :(得分:0)
这种情况正在发生,因为在执行时gradle在其类路径中没有hsql驱动程序jar。
你需要在你的gradle脚本中使用这样的东西
buildscript {
dependencies {
classpath files("somelibfolder/hsqldb.jar")
}
}