Gradle 在多模块设置中找不到compileOnly()

Gradle 在多模块设置中找不到compileOnly(),gradle,Gradle,在多模块Gradle项目中,所有子项目都是平面的,并且它们对其他项目没有任何依赖关系。在基本项目目录中,settings.gradle文件包含以下内容: rootProject.name = 'base-project' include 'server-1', 'server-2', 'server-3', 'business-app', 'gateway' 在基本项目目录上运行./gradlew build时,出现以下错误: A problem occurred evaluating pro

在多模块Gradle项目中,所有子项目都是平面的,并且它们对其他项目没有任何依赖关系。在基本项目目录中,settings.gradle文件包含以下内容:

rootProject.name = 'base-project'
include 'server-1', 'server-2', 'server-3', 'business-app', 'gateway'
在基本项目目录上运行./gradlew build时,出现以下错误:

A problem occurred evaluating project ':business-app'.
> Could not find method compileOnly() for arguments [org.projectlombok:lombok] on project ':business-app'.
用于项目的build.gradle文件中的依赖项条目

dependencies {
  ...
  compileOnly('org.projectlombok:lombok')
  ...
}
如果在项目目录中运行相同的build命令,则不会发生此错误

我在网上找不到任何有用的信息。如何解决这个问题?

compileOnly配置通过应用java插件添加到构建上下文中。可能你没有

apply plugin:'java'

对于定义的子项目。添加它应该可以解决这个问题。

子项目的build.gradle文件中有一行。如果这确实是原因,如何解释build命令在subproject目录中运行良好?奇怪。你用的是哪个gradle版本?我现在无法使用电脑。我相信Gradle版本是4.x。我知道一些关于2.x的类似问题的报告。将其应用于root build.gradle解决了我的问题。谢谢