初始化数据库时执行Gradle任务

初始化数据库时执行Gradle任务,gradle,Gradle,后台程序将在生成结束时停止,并在处理后停止 任务:initdb失败 失败:生成失败,出现异常 其中: 生成文件“C:\CodesIBAR\chasis\Build.gradle”行:220 出了什么问题: 任务“:initdb”的执行失败 无法为任务设置未知属性“dbDriver”:类型为org.gradle.api.DefaultTask的initdb 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--sc

后台程序将在生成结束时停止,并在处理后停止

任务:initdb失败

失败:生成失败,出现异常

  • 其中: 生成文件“C:\CodesIBAR\chasis\Build.gradle”行:220

  • 出了什么问题: 任务“:initdb”的执行失败

无法为任务设置未知属性“dbDriver”:类型为org.gradle.api.DefaultTask的initdb

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的洞察力

Groovy中的变量需要使用
def
(就像您对
sql
变量所做的那样)或类型来定义。另外,下次,试着把你的问题表述为一个问题,并简要描述你正在尝试做什么。我已经尝试添加def,仍然是相同的错误。我正在尝试通过自定义任务动态构建gradle.script您确定仍然会遇到相同的错误吗?也许您忘记了在再次运行脚本之前保存它?当我尝试时,会得到一个
java.lang.ClassNotFoundException:oracle.driver.jdbc.OracleDriver
,这是预期的,因为这是连接字符串中的内容。但这是另一个问题。
task initdb() {
    doLast {// Make sure the code is run during execution phase and not configuration phase
        def dbUrl = 'jdbc:oracle:thin:@//172.31.0.50:1521/FCJ12PROD'
        def dbUsername = 'iba_app'
        def dbPassword = 'iba_app'
        def dbDriver = 'oracle.driver.jdbc.OracleDriver'
        def sql = groovy.sql.Sql.newInstance(dbUrl, dbUsername, dbPassword, dbDriver)
    }
}