簡體   English   中英

Gradle 復合構建 - 您是否可以依賴包含的多項目構建中的 java 子項目?

[英]Gradle composite builds - can you have a dependency to a java sub-project from an included multi-project build?

假設您有 2 個 gradle 項目。 第一個是具有 2 個 java 子項目的多項目:

rootProject
    :my:subProject1
    :myother:subProject2

第二個 gradle 項目是一個單獨的項目,包括 Build 的根項目:

secondProject
    includeBuild '../rootProject'

我想將:my:subProject1compile依賴項:my:subProject1secondProject.

所以基本上我想將以下內容添加到secondProject的 build.gradle 文件中:

dependency {
    compile(project(':my:subProject1')) 
}

當我嘗試這樣做時,它返回錯誤: Project with path ':my:subProject1' could not be found in root project 'secondProject'

我似乎只能在將依賴項作為group:artifact:version執行時才能解決依賴項。 例如: my.root.project:subProject1:1.0.0 但為什么它會讓我這樣做呢? 為什么不讓我訪問復合構建的項目層次結構?

  1. 根目錄上應該只有一個 settings.gradle ,刪除任何子文件夾中的所有 setting.gradle 文件

  2. 在根文件夾的 settings.gradle 文件上定義項目

    include ':sub1', ':sub2', ':sub3'
  3. compile project(":sub1")到您的 build.gradle 下的依賴項塊:

     dependencies{ compile project(":sub1") }

這就是這些復合構建的工作方式。 它們基本上就像您在包含其他項目之前將其發布到 maven local 一樣。 所以這意味着您需要依賴拆分項目的版本號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM