我在gradle构建中使用了shadowJar插件。某些子项目具有shadowJar任务。
如果我从命令行运行gradlew shadowJar
,则将执行所有子项目的shadowJar任务。另一方面,如果我还有另一个dependsOn shadowJar
任务,并且运行该任务,那么它只会在根项目上运行shadowJar任务。
这是什么原因?如何使我的依赖项使用与命令行工具相同的任务解决机制?
答案 0 :(得分:0)
那很好。在命令行中,gradle负责处理并解决所有参与当前构建的项目的任务-已在initialization阶段包括在内。
当您使用dependsOn
时,它取决于:build.gradle
表示的是依赖项,还取决于在哪个块中,例如subprojects
或allprojects
。