allprojects:配置所有项目的公共属性和以来
subprojects:配置子项目的依赖
根项目会执行各个子项目的任务
root build.gradle
本节概要如下
一、根据上节对项目的要求,对多项目进行配置优化
要求一:所有模块都应用Java插件
所有项目默认都应用Java插件,但是最好统一配置在根目录下。配置方式:在根项目的build.gradle使用allprojects方法
allprojects{
本节概要如下
一、根据上节对项目的要求,对多项目进行配置优化
要求一:所有模块都应用Java插件
所有项目默认都应用Java插件,但是最好统一配置在根目录下。配置方式:在根项目的build.gradle使用allprojects方法
allprojects{
apply plugin:'java'
sourceCompatibility = 1.8
}
要求二:web子项目打包成war包
只给web模块的build.gradle配置:apply plugin:'war'
要求三:所有项目添加Logback日志功能
根项目没有代码,所以使用allprojects或者subprojects配置效果一样,这里就采用subprojects来试
tips:allprojects和subprojects的闭包里,都完全可以看作一个单独的build.gradle来写代码
要求四:统一配置group和version(之前提过ext和gradle.properties方式)
这里采用gradle.properties,在根目录创建gradle.properties,配置group和version即可
二、总结
总结一:子项目的build.gradle里只是配置项目自己的个性化的配置,共性的全都在根项目里一起配置了
总结二:根项目执行task,会同步执行所有子项目对应的task;也可以选择直接在单个项目下执行任务
为什么只对 web模块,web子项目打包成WAR的原因。
每个submodule 的repository 的maven库地址还需要指定吗?是不是都可以去掉了。
统一设置gradle和version
新建gradle.properties并设置
所有项目添加logback日志功能
配置子项目仓库和测试版本
添加war任务插件
对所有子项目统一配置
allprojects{
apply plugin:'java'
sourceCompatibility = 1.8
}
统一配置group和version
subprojects
所有项目添加Logback日志功能
web子项目打包成WAR
allprojects
所有项目中应用Java插件