为什么命令行和DependsOn中的任务解析不同?

时间:2018-10-17 12:56:12

标签: gradle build.gradle gradlew

我在gradle构建中使用了shadowJar插件。某些子项目具有shadowJar任务。

如果我从命令行运行gradlew shadowJar,则将执行所有子项目的shadowJar任务。另一方面,如果我还有另一个dependsOn shadowJar任务,并且运行该任务,那么它只会在根项目上运行shadowJar任务。

这是什么原因?如何使我的依赖项使用与命令行工具相同的任务解决机制?

1 个答案:

答案 0 :(得分:0)

那很好。在命令行中,gradle负责处理并解决所有参与当前构建的项目的任务-已在initialization阶段包括在内。

当您使用dependsOn时,它取决于:build.gradle表示的是依赖项,还取决于在哪个块中,例如subprojectsallprojects