gpt4 book ai didi

groovy - Gradle 额外属性不存在 - 在子模块中定义

转载 作者:行者123 更新时间:2023-12-03 03:37:53 25 4
gpt4 key购买 nike

我正在将 maven build 迁移到 gradle,并且正在努力在根项目中定义基本插件配置。并在子模块中提供特定的配置属性。

这是一个例子:

根:build.gradle

configure(filterSubprojects(['component'])) {

apply plugin: "org.flywaydb.flyway"

flyway {
url = "jdbc:oracle:thin:@${db.host}:${db.port}:${db.name}"
user = db.owner.name
password = db.owner.password
}

}

特定子项目组件:build.gradle
ext {
db = [
host : <host>,
port : <port>,
name : <name>,
user : [name: <user-name>, password: <user-password>]
]
}

我收到此错误:
Cannot get property 'db' on extra properties extension as it does not exist

可能是非常基本的问题,但我无法弄清楚如何做到这一点。

最佳答案

这里的问题是,在评估您的根 build.gradle 文件时尚未评估具体组件 build.gradle 文件,因此当配置 block 运行时 db 确实不存在。要解决此问题,您应该能够声明 evaluationDependsOnChildren()在您的根 build.gradle 文件中。

关于groovy - Gradle 额外属性不存在 - 在子模块中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34470504/

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