首页 > 解决方案 > Gradle 不调用其他模块的默认任务

问题描述

我正在工作的项目结构如下

root/
    project-1/
         build.gradle
    project-2/
         build.gradle
build.gradle
settings.gradle

root/settings.gradle 如下所示

include 'project-1'
include 'project-2'

project-1/build.gradle 如下所示

....

defaultTasks 'task1','task2','task3'

这里 task3 确实将 project-1 的构建文件复制到 project-2 的目录之一。Project-2 需要此文件进行构建。

project-2/build.gradle 如下所示

...

dependencies {
  compile 'xyx.jar'
  compile 'pqr.jar'
  implementation project(":project-1:defaultTasks")

}

当我构建 project-2 时,它不会构建 project-1 的 defaultTasks。

标签: javagradle

解决方案


这些defaultTasks只是在gradle没有任何任务作为参数的情况下被调用时执行的任务。

如果您希望在将项目用作另一个项目的依赖项时执行其他任务,则需要将这些任务注册为构建相应项目的任务的任务依赖项(例如jarassemble


推荐阅读