2

atm 我正在阅读 https://docs.gradle.org/current/userguide/multi_project_builds.html#sec:dependencies_which_dependencies的 gradle 用户指南

我只是按照那里的说明进行了双重、三重和四重检查,但由于某种原因,我一直遇到

 Could not set unknown property 'producerMessage' for root project 'messages' of type org.gradle.api.Project.

而且我无法真正弄清楚问题所在(2个同事也是如此)。

是否有人在这里有一些经验,或者只是意识到“哦,问题是……”???也许我现在太盲目了。

我的问题基本上是如何在 rootProject 上声明该属性,为什么我在用户指南中找不到该步骤?

设置.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.'
}}
4

1 回答 1

2

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

ext.producerMessage = null

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

于 2016-12-28T12:18:34.660 回答