Gradle 额外的 属性 不存在 - 在子模块中定义
Gradle extra property does not exist - defined in sub-module
我正在将 maven 构建迁移到 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 文件,因此当配置块运行时 db 确实还不存在。要解决此问题,您应该能够在根 build.gradle 文件中声明 evaluationDependsOnChildren()
。
我正在将 maven 构建迁移到 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 文件,因此当配置块运行时 db 确实还不存在。要解决此问题,您应该能够在根 build.gradle 文件中声明 evaluationDependsOnChildren()
。