2016-02-24 101 views
1

你好,我是gradle新手,對我來說有點困惑。我應該如何在我的gradle配置中添加一個依賴項以訪問B1.java in projectA1?項目B是gradle項目,項目A只是一個包含另一個gradle項目的文件夾。如何使用gradle正確添加依賴項到另一個項目?

這裏是我的結構:

  1. 工作區:
    • 項目A
      • projectA1
        • ...
        • 這裏我想有機會獲得B1.java
        • 的build.gradle
      • projectA2
        • ...
        • 的build.gradle
    • 項目B
      • projectB1
        • B1.java
        • ...
        • 的build.gradle
      • projectB2
        • ...
        • 的build.gradle
      • 的build.gradle

我試圖讀取gradle這個文件,但目前尚不清楚對我來說。任何幫助讚賞。謝謝!

+0

的看看[這裏](https://looksok.wordpress.com/ 2014/07/12 /編譯爲gradle-project-with-another-project-as-a-dependency /)文章。 – aribeiro

回答

1

除非項目A1和B1存在於同一個源存儲庫中,並且一起檢出和檢入,否則您應該將項目B1視爲外部依賴項。

在項目A1的build.gradle

dependencies{ 
    compile 'projectB1group:projectB1module:projectB1version' 
} 

當然,這個工作,你將不得不發佈B1二進制文件的存儲庫是從項目A1訪問的第一位。這可以是一個外部nexus/artifactory類型的maven倉庫,但也可以是你的本地maven .m2緩存,甚至是一個普通的舊文件系統。對於Maven發佈,請參閱maven或'maven-publish`插件。


如果這兩個項目住在同一個源回購,你應組織項目A和項目B作爲下一個根「容器」項目的子項目。根項目不需要擁有自己的源代碼。

閱讀關於在gradle中組織多項目構建here

如果根項目有包括包括項目B1線settings.gradle,你可以參考任何項目根項目下是這樣的:

project(':B1') 

因此,添加B1作爲依賴於A1,在A1的的build.gradle:

compile project('B1') 
1

你應該有這樣的結構:

ProjectA 
|--projectA1 
|----build.gradle 
|--projectA2 
|----build.gradle 
|--settings.gradle 
|--build.gradle 

ProjectB 
|--projectB1 
|----build.gradle 
|--projectB2 
|----build.gradle 
|--settings.gradle 
|--build.gradle 

您可以鏈接項目中的外部模塊。

1)在項目projectA/settings.gradle

include ':projectA1',':projectA2',':projectB1' 
project(':projectB1').projectDir = new File("/workspace/projectB/projectB1") 

2)添加依賴於build.gradleprojectA1模塊

dependencies { 
    compile project(':projectB1') 
} 
相關問題