Gradle多项目依赖项没有导入

时间:2017-11-20 12:25:24

标签: java intellij-idea gradle build.gradle

我想使用现有项目作为依赖项构建一个新项目。使用以下文件结构:

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项目。这就像我能想到的那样一个多项目的清洁。为什么我无法使用指定依赖项的类?

1 个答案:

答案 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库项目的类。