atm我正在浏览gradle用户指南 https://docs.gradle.org/current/userguide/multi_project_builds.html#sec:dependencies_which_dependencies
我只是按照那里的指示进行了双重,三重和四重检查我做了什么,但由于某种原因我一直在遇到
Could not set unknown property 'producerMessage' for root project 'messages' of type org.gradle.api.Project.
我无法弄清问题是什么(2位同事也是如此)。
有人在这里有一些经验或只是意识到和#34; Ohyeah,问题是......" ???也许我现在太盲目了。
我的问题基本上是如何在rootProject上声明属性以及我怎么能在用户指南中找不到该步骤?
settings.gradle
include 'consumer', 'producer'
消费者/的build.gradle
task action {
doLast {
println("Consuming message: ${rootProject.producerMessage}")
}}
生产者/的build.gradle
task action {
doLast {
println "Producing message:"
rootProject.producerMessage = 'Watch the order of execution.'
}}
答案 0 :(得分:2)
在尝试在子项目中使用变量之前,必须在根项目中声明变量。因此,您必须在build.gradle
文件的文件夹中添加settings.gradle
文件,并在其中声明此变量,例如如下所示:
ext.producerMessage = null
这只是未声明变量的问题。您也可以查看sources,看看它是否已声明。问题是用户指南并没有说你还需要一个带变量声明的文件。