我意識到有很多關於Gradle設置的帖子。這就是說,我研究了很多,沒有找到我正在尋找的東西,或者我使用了不正確的術語來做到這一點。我正在使用Gradle版本3.3。Gradle依賴於另一個項目失敗的模塊
所以我有多個Gradle項目,每個項目都是單獨維護的。沒有主Gradle項目。每個項目都有自己的模塊,構建和設置文件。其結構如下:
Projects
A
a1
build.gradle
a2
build.gradle
build.gradle
settings.gradle
B
b1
build.gradle
b2
build.gradle
build.gradle
settings.gradle
我試圖做的是讓B依賴於A的模塊。我們假設B中的一個模塊依賴於a1。在B的設置,我已經做了以下內容:
rootProject.name = 'B'
rootProject.setProjectDir(new File(".")
include 'a1'
project(':a1').setProjectDir(new File(settingsDir.getParentFile(), "/A/a1"))
我存儲的版本號的方式是通過在內線封蓋每個項目的文件的build.gradle。然後我通過這個項目訪問它們。下面是B的build文件的外觀:
ext {
freemarkerVersion = '2.3.19'
}
dependencies {
compile project(':a1')
compile group: 'org.freemarker', name: 'freemarker', version: rootProject.properties.get('freemarkerVersion')
}
我所看到的是B能夠解決其依賴關係,並試圖編譯項目A1,但它是使用B的版本號,而不是的。我通過在具有不同版本號的兩個項目中添加通用依賴項來驗證這一點。使用B的版本顯示依賴關係。我也在B中更改了版本號,並進一步證實了這一點。因此,如果我可以在他們自己的build.gradle文件中獲得任何與項目相關的版本的幫助,那就太棒了!
編輯:更新後,找出以前的問題是從相對路徑不解決。