获取java.lang.ClassNotFoundException:org.hsqldb.JDBCDriver,在尝试



我已经附加了我的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")
}
}

最新更新