我正在尝试加载属性并在liquibase任务中使用它。 我可以成功加载属性并将其打印出来。 但是当我在liquibase任务中使用它时,gradle会抱怨找不到属性。
我正在使用:
classpath 'org.liquibase:liquibase-gradle-plugin:1.1.0'
加载属性:
def springApplicationProperties = "src/main/resources/application-${System.env.SPRING_PROFILES_ACTIVE}.properties"
def springProps = new Properties()
InputStream is = new FileInputStream("${springApplicationProperties}")
springProps.load(is)
println "${springProps['spring.datasource.url']}"
Liquibase块:
liquibase{
activities {
main {
changeLogFile 'src/main/database/changelog.groovy'
url ${springProps['spring.datasource.url']}
username ${springProps['spring.datasource.user']}
password ${springProps['spring.datasource.password']}
}
}
runList = 'main'
}
我发现出现了以下错误:
对于类org.liquibase.gradle.Activity,没有$springProps属性
看起来在liquibase活动中无法访问springProps。 我尝试使用ext和project范围,但在liquibase块中都不可见。
"${value}"
(将被解析为GString)或者如果value是String
类型的话,只需使用value
。也可以尝试使用GString
来查看是否有效。 - Opal