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 でプロパティを宣言する方法と、ユーザーガイドでその手順が見つからないのはなぜですか?

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

1 に答える 1

2

サブプロジェクトで使用する前に、ルート プロジェクトで変数を宣言する必要があります。build.gradleしたがって、ファイルを含むフォルダーにファイルを追加し、そのsettings.gradle中でこの変数を宣言する必要があります。たとえば、次のようにします。

ext.producerMessage = null

宣言されていない変数の問題です。ソースを調べて、それが宣言されていることを確認することもできます。問題は、変数宣言を含むファイルをもう 1 つ作成する必要があるとユーザー ガイドに記載されていないことです。

于 2016-12-28T12:18:34.660 に答える