我想使用现有项目作为依赖项构建一个新项目。使用以下文件结构:
projA
-src
-main
-java
-HelloWorld.java
-build.gradle
-settings.gradle
projB
-src
-main
-java
-Greeter.java
-build.gradle
-settings.gradle
projA中的项目取决于projB中的项目(HelloWorld使用Greeter)。 projB的settings.gradle如下所示:
rootProject.name = 'projB'
build.gradle也很简单:
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
projA的settings.gradle文件设置为包含projB,如下所示:
rootProject.name = 'projA'
include ':projB'
project(':projB').projectDir = new File(settingsDir, '../projB')
最后,projA的build.gradle包含如下项目:
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile project(':projB')
testCompile group: 'junit', name: 'junit', version: '4.12'
}
现在,如果我想在HelloWorld中使用Greeter,我会收到导入错误。即使我重建了projA项目。这就像我能想到的那样一个多项目的清洁。为什么我无法使用指定依赖项的类?
答案 0 :(得分:-1)
您应该只有一个settings.gradle
文件,它应该放在根项目目录中,如下所示:
projA/
src/main/java/
HelloWorld.java
build.gradle
projB/
src/main/java/
Greeter.java
build.gradle
settings.gradle
您的settings.gradle
应如下所示:
include 'projA'
include 'projB'
此外,您应该使用java包来正确import
库项目的类。