如何在Gradle 3.2.1中找到rootProject

时间:2016-12-28 11:34:37

标签: java gradle user-guide

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.'
}}

1 个答案:

答案 0 :(得分:2)

在尝试在子项目中使用变量之前,必须在根项目中声明变量。因此,您必须在build.gradle文件的文件夹中添加settings.gradle文件,并在其中声明此变量,例如如下所示:

ext.producerMessage = null

这只是未声明变量的问题。您也可以查看sources,看看它是否已声明。问题是用户指南并没有说你还需要一个带变量声明的文件。