我已经附加了build.gradle文件的标题以及我正在使用的Task来查询数据库。我正在尝试访问数据库,从数据库中提取特定的版本号,然后将其保存在其他位置。
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()
}
}
我越来越:
任务':wiser:updateDatabase'的执行失败。
java.lang.ClassNotFoundException: org.hsqldb.JDBCDriver
当我尝试执行gradle updateDatabase时。我也尝试过使用不同的软件包来更改驱动程序,但是我一直遇到相同的错误。我也尝试在我的类路径中添加编译jar文件,但似乎没有任何效果。任何帮助都是极好的。
最佳答案
发生这种情况是因为在执行gradle时,其classpath中没有hsql驱动程序jar。
您将需要在gradle脚本中使用类似这样的内容
buildscript {
dependencies {
classpath files("somelibfolder/hsqldb.jar")
}
}
关于sqlite - 尝试访问本地数据库时,使用gradle获取java.lang.ClassNotFoundException:org.hsqldb.JDBCDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683623/