找不到多模块项目的方法compile()

时间:2018-01-24 16:55:42

标签: gradle build.gradle

dependencies {
    compile project('client')
    compile project('-cache
')

现在,当我发表评论compile project('product-cache-client')时,它会转移到下一个并对此进行评估。

我尝试将其添加到该模块中的gradle.settings,如下所示:

include('client')
include('cache')

但我仍然得到同样的错误。我甚至尝试将其添加到gradle.settings

project('lib/cache').projectDir = "$rootDir/lib/cache" as File

仍然得到相同的结果。

  

Gradle 4.4

main gradle.build文件:

subprojects {

    dependencies {
        compile project('client')
        compile project('cache')

    }

    repositories{
        jcenter()
        mavenCentral()
    }
}

configure(subprojects){
    apply plugin: 'maven'
    apply plugin: 'java'
    apply plugin: 'idea'
    apply plugin: 'eclipse'
}

repositories {

}

buildscript {

    ext {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

dependencies {
    jcenter()
    mavenCentral()
}

2 个答案:

答案 0 :(得分:1)

在父版本的顶部添加java插件,对我来说这很有效:

申请插件:' java'

这里建议 - 第二个答案Could not find method compile() for arguments Gradle 并切换'依赖'与'存储库' - 至少在你在这里写的build.gradle样本中,它们被切换了。

答案 1 :(得分:0)

当您将依赖项定义为 compile 时,它将无法在运行时访问。如果您通过 IDE 运行该项目,那么它可以工作,但是当您使用 gradle bootRunmvn spring-boot:run 命令运行时,将抛出上述错误。所以只需要用 compile 替换 implementation

dependencies {
        implementation project('client')
        implementation project('cache')

    }