![](/img/trans.png)
[英]Use gradle to include classes from sub-project A in the classpath for sub-project B
[英]Gradle sub-project classes dependency
我的gradle項目中有幾個子項目:
Project
Common
Consumer1
Consumer2
.....
ConsumerN
我的第一個也是主要目標是將Common
項目中的類包含到每個ConsumerN
項目的結果jar中。 因此,我可以在Common
項目中獨立開發和測試共享部分(DB邏輯,一些utils),接下來的其他項目將獲得該類(已測試)並將其包含在jar中。
第二個目標是使IntelliJ Idea理解這種依賴性並正確使用它。
您能否提出建議以“最概念和最正確的方式”做到這一點。
假設您具有以下項目結構:
首先,您需要設置一個多模塊項目-它是在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文件,則需要使用fatjar或shadow插件。 如果有Web應用程序,則需要war插件。
一些進一步的閱讀 。
使用gradle包裝器導入項目時,IntelliJ IDEA應該處理這些依賴關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.