如何在 Gradle 3.2.1 中找到 rootProject
How to find rootProject in Gradle 3.2.1
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 位同事也是如此)。
有人在这里有一些经验还是刚刚意识到 "Ohyeah, the problem is ..."???也许我现在太盲目了。
我的问题基本上是如何在 rootProject 上声明 属性 以及为什么我在用户指南中找不到该步骤?
settings.gradle
include 'consumer', 'producer'
consumer/build.gradle
task action {
doLast {
println("Consuming message: ${rootProject.producerMessage}")
}}
producer/build.gradle
task action {
doLast {
println "Producing message:"
rootProject.producerMessage = 'Watch the order of execution.'
}}
您必须先在根项目中声明一个变量,然后才能在子项目中使用它。因此,您必须在包含 settings.gradle
文件的文件夹中添加 build.gradle
文件,并在其中声明此变量,例如:
ext.producerMessage = null
只是未声明变量的问题。您也可以查看 sources ,看看它是否已声明。问题是用户指南没有说你需要一个带有变量声明的文件。
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 位同事也是如此)。
有人在这里有一些经验还是刚刚意识到 "Ohyeah, the problem is ..."???也许我现在太盲目了。
我的问题基本上是如何在 rootProject 上声明 属性 以及为什么我在用户指南中找不到该步骤?
settings.gradle
include 'consumer', 'producer'
consumer/build.gradle
task action {
doLast {
println("Consuming message: ${rootProject.producerMessage}")
}}
producer/build.gradle
task action {
doLast {
println "Producing message:"
rootProject.producerMessage = 'Watch the order of execution.'
}}
您必须先在根项目中声明一个变量,然后才能在子项目中使用它。因此,您必须在包含 settings.gradle
文件的文件夹中添加 build.gradle
文件,并在其中声明此变量,例如:
ext.producerMessage = null
只是未声明变量的问题。您也可以查看 sources ,看看它是否已声明。问题是用户指南没有说你需要一个带有变量声明的文件。