簡體   English   中英

Gradle子項目類的依賴關系

[英]Gradle sub-project classes dependency

我的gradle項目中有幾個子項目:

Project
    Common
    Consumer1
    Consumer2
    .....
    ConsumerN

我的第一個也是主要目標是將Common項目中的類包含到每個ConsumerN項目的結果jar中。 因此,我可以在Common項目中獨立開發和測試共享部分(DB邏輯,一些utils),接下來的其他項目將獲得該類(已測試)並將其包含在jar中。

第二個目標是使IntelliJ Idea理解這種依賴性並正確使用它。

您能否提出建議以“最概念和最正確的方式”做到這一點。

假設您具有以下項目結構:

    • build.gradle
    • 共同
    • m1
    • 平方米
    • 立方米
    • settings.gradle

首先,您需要設置一個多模塊項目-它是在settings.gradle完成的(這是一個普通的gradle腳本),其內容如下:

include 'm1', 'm2', 'm3', 'common'

每個項目的設置都在專用的build.gradle文件中完成,但是您可以全局設置您要求的設置-在root build.gradle 其內容如下:

subprojects {
    apply plugin: 'java'
}

subprojects.findAll { it.name != 'common' }.each { 
    configure(it) {
        dependencies {
            project(':common')
        }
    }
}

問題是從mN模塊產生了什么偽像。 如果這些是jar文件,則需要使用fatjarshadow插件。 如果有Web應用程序,則需要war插件。

一些進一步的閱讀

使用gradle包裝器導入項目時,IntelliJ IDEA應該處理這些依賴關系。

暫無
暫無

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

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