[英]Trying to include Gradle project as dependency, but include() not working
我有一個Gradle項目,它依賴於另一個Gradle項目。 我的項目結構如下:
在project1/build.gradle
我想添加project2
作為依賴項:
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDirs = [ 'src' ]
}
}
}
include ':project2'
project(':project2').projectDir = new File("../project2")
dependencies {
compile project(':project2')
}
不幸的是,我總是收到以下錯誤消息:
錯誤:(21,0)在類型為org.gradle.api.Project的根項目'project1'上找不到參數[:project2]的方法include()。
我正在使用Gradle 3.5,並且在命令行( gradle build
)和IntelliJ中都收到此錯誤。 我發現了一些關於同一問題( this和this )的StackOverflow線程,但是它們沒有幫助。
Gradle多項目文檔也沒有提及我可能會遺漏的可能導致錯誤的任何特定要求。
當我退出include
調用時,我收到一條消息,指出在根項目中找不到項目路徑。
我還嘗試將依賴項移至project1
的子目錄,但未成功。
我想知道我在做什么錯,為什么其他人顯然沒有遇到相同的問題。 我會很感激的提示。
注意:這不是一個Android項目。
如第一條評論中所述, include
實際上需要進入settings.gradle
而不是build.gradle
。 更改projectDir
屬性也是projectDir
。
評論3也給了我另一個想法。 該項目可以包含在settings.gradle
,如下所示:
includeBuild '../project2'
在project1/build.gradle
我將依賴項指定為
dependencies {
compile 'group:project2:version'
}
我通常會更好,因為它更少的代碼並且看起來更干凈。 但是不利的是,遞歸復合構建是不可能的。 因此,如果project2
本身也是復合構建,則將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.