簡體   English   中英

不要將 gradle 子項目安裝為外部依賴

[英]Do not install gradle sub-project as external dependency

我有以下 gradle 多項目結構。

root-project
   -A
     build.gradle
   -B
     build.gradle
 build.gradle
 settings.gradle

A有一些簡單的 java 代碼和幾個外部依賴項。 B已將A包含為compile(':A') B還有一個 maven 插件應用為apply plugin: 'maven'

現在我的問題是每當我執行./gradlew install時, B都會將A作為外部 maven 依賴項包含在內。 使用B的人無法編譯,因為它找不到A 如何跳過將 maven 插件應用於A並將其所有代碼包含在B中?

任何一個:

  1. 將工件發布到外部或內部存儲庫
  2. 直接依賴項目庫,如下圖。

-

// Project B
dependencies {
    implementation(project(":a"))
}

參考:

如果項目B正在生成 jar,我們有很多選擇,但在我的情況下,它應該是第三方使用的 maven 依賴項。 我找不到直接的解決方案。 所以我最終將A的源添加到 B 中。在 B 的 build.gradle 中是這樣的:

 sourceSets {
    main {
        java {
            srcDir 'src/main/java'
            srcDir '../A/src/main/java'
        }
    }
}

唯一的缺點是我還必須在B中包含A的依賴項。 如果有人有更優雅的方法,我很樂意接受。

暫無
暫無

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

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