gpt4 book ai didi

oracle - ORA-01882:在Liquibase Gradle插件中找不到时区区域

转载 作者:行者123 更新时间:2023-12-03 05:07:48 24 4
gpt4 key购买 nike

在我们的项目中,我们使用Liquibase gradle插件。最近,我们将ojdbc8插件更新为版本18.3.0.0。不幸的是,这导致我们的Liquibase任务失败,并出现ORA-01882:找不到时区区域。我找到了针对此错误的一些解决方案(例如:ORA-01882: timezone region not found),但是我不知道如何将这个-Duser.timezone或-Doracle.jdbc.timezoneAsRegion属性添加到gradle任务中。我尝试了不同的方法,但没有成功。

这就是我们build.gradle的一些关键部分的样子:

liquibase {
activities {
oracle {
changeLogFile "$liquibasePath/db.changelog-master.xml"
driver liquibaseProps['oracle.driver']
url "jdbc:oracle:thin:@${liquibaseProps['oracle.ip.port']}:${liquibaseProps['oracle.schema']}"
username liquibaseProps['oracle.username']
password liquibaseProps['oracle.password']
outputDefaultSchema false
outputDefaultCatalog false
}
}
}


def generate(taskName, taskDescription, generateCommand) {
project.task(taskName, type: LiquibaseTask) {
group = 'Liquibase'
description = taskDescription

inputs.property('databases', getRunList())
inputs.dir liquibasePath
outputs.dir sqlScriptsPath


doLast {
new LiquibaseSqlCleanupTask(sqlScriptsPath).execute()
}
}
}

最佳答案

运行gradle时,需要将其设置为系统属性。该文档位于https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_system_properties,但这是最相关信息的副本/粘贴:

Using the -D command-line option, you can pass a system property to the JVM which runs Gradle. The -D option of the gradle command has the same effect as the -D option of the java command.

You can also set system properties in gradle.properties files with the prefix systemProp.



因此,您可以在项目的根目录中创建一个 gradle.properties文件,其内容如下:
systemProp.oracle.jdbc.timezoneAsRegion=false

关于oracle - ORA-01882:在Liquibase Gradle插件中找不到时区区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com