在使用Gradle v5.5.1的多项目构建中,我试图将ear
插件仅应用于某些子项目(如using plugins中所述)。您可以在此处看到我正在尝试将其应用于以EAR
结尾的子项目:
subprojects { Project proj ->
afterEvaluate {
if(proj.projectDir.name.endsWith('EAR')){
logger.debug "{} looks like an EAR subproject", proj.name
apply plugin: 'ear'
defaultTasks 'ear'
}
}
但是,它却将其应用于我的master
项目(输出日志):
10:53:36.366 [DEBUG] [org.gradle.api.Project] MAG820PAYMENTRECONEAR looks like an EAR subproject
10:53:36.367 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Apply plugin org.gradle.ear to root project 'master'' started
然后,当执行我的子项目时,它说未找到ear
任务:
10:53:36.375 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Task 'ear' not found in project ':MAG820PAYMENTRECON:MAG820PAYMENTRECONEAR'.
我知道这是可行的,因为我还有其他类似的项目在做,但是我不知道为什么这个项目如此工作。
我在做什么错??
答案 0 :(得分:0)
只需使用proj.apply plugin: 'ear'
来调用子项目上的方法