gradle如何使用allprojects、sub和project

 时间:2026-02-15 10:20:30

1、在正确安装好gradle之后(这里就不介绍安装方法了),就可以开始对allprojects、subprojects和project使用方法进行测试,新建一个文件夹test_master用来测试,在文件夹里新建build.gradle和settings.gradle文件

gradle如何使用allprojects、sub和project

2、在test_master文件夹里再新建两个子目录

在settings.gradle文件里写入

include 'server', 'client'

意思是包含server和client两个子项目

在build.gradle文件中写入,添加allprojects,定义一个名为hello的任务,任务里使用doLast表示项目构件的时候最后执行

allprojects {

    task hello {

        doLast { task ->

            println "I'm $task.project.name"

        }

    }

}

gradle如何使用allprojects、sub和project

3、使用cmd窗口,切换到刚刚新建的测试目录,如图,执行gradle -q hello命令,-q关闭一些命令中的log信息,只显示打印信息等,从打印信息可以看出,test_master、server和client三个项目模块都执行了doLast方法,说明在allprojects里面添加的任务方法都会在每个模块项目执行一次,由此我们可以把所有公共的行为放在allprojects中定义

gradle如何使用allprojects、sub和project

4、在build.gradle中再添加subprojects

subprojects {

    hello {

        doLast {

            println "- I depend on master"

        }

    }

}

同样再次执行gradle -q hello命令,从图中的打印结果可以看出,除里test_master项目模块,server和client打印了信息。说明subprojects只是针对子项目有效

gradle如何使用allprojects、sub和project

5、在build.gradle中再添加project

project(':client').hello {

    doLast {

        println "- I'm the client with 'project' test."

    }

}

同样再次执行gradle -q hello命令,从图中的打印结果可以看出,只有client打印了最后添加的打印信息,说明project(':client')这种方式是针对一个指定的模块执行的

gradle如何使用allprojects、sub和project

6、其实project(':client')的定义,我们可以放在client目录下面的build.gradle中定义,将master的build.gradle的project(':client')删掉,在client目录下的build.gradle中添加

hello.doLast {

    println "- I'm the client with 'self project' test."

}

从图中的打印结果可以看出,效果和上面的一样

gradle如何使用allprojects、sub和project

  • 逆水寒庄园怎么升三级
  • 逆水寒油纸伞怎么获得
  • 帝国神话怎么获得名望
  • 逆水寒佛性值怎么获得速刷攻略
  • 天涯明月刀怎么打海盗船
  • 热门搜索
    防火防电手抄报 城南旧事手抄报图片 安全法制手抄报 四季手抄报 安全健康快乐手抄报 孝敬老人的手抄报 中华文化手抄报 我爱爸爸妈妈手抄报 手抄报简单 以新年为主题的手抄报