7--Gradle进阶 - settings.gradle的文件说明

news/2024/11/19 9:39:01/

7--Gradle进阶 - settings.gradle的文件说明

前言

介绍 settings.gradle 文件之前,先来说明一下,settings.gradle 主要是用来多模块工程使用的。

所以我们先来创建一个多模块的工程。

多模块工程创建

1. 创建 root 工程

cbf07bfc72a5d0775ceed3e8ec5ac5b5.png

1.1 配置本地 Gradle

6f76f44a36a7c925ea9c051c2eeb7831.png

1.2 配置依赖

91f12f1af6a07d3e7ac793ebd9b76dcc.png

plugins {id 'java'
}group 'com.lijw'
version '1.0-SNAPSHOT'repositories {mavenLocal()mavenCentral()
}dependencies {implementation 'org.springframework:spring-beans:4.1.7.RELEASE'implementation 'org.springframework:spring-web:4.1.7.RELEASE'implementation 'org.springframework:spring-webmvc:4.1.7.RELEASE'implementation 'org.springframework:spring-tx:4.1.7.RELEASE'implementation 'org.springframework:spring-test:4.0.5.RELEASE'implementation 'org.springframework:spring-jdbc:4.1.7.RELEASE'implementation 'org.mybatis:mybatis-spring:1.2.3'implementation 'org.mybatis:mybatis:3.3.0'implementation 'mysql:mysql-connector-java:5.1.36'implementation 'com.alibaba:druid:1.0.15'implementation "com.fasterxml.jackson.core:jackson-databind:2.2.3"implementation "com.fasterxml.jackson.core:jackson-annotations:2.2.3"implementation "com.fasterxml.jackson.core:jackson-core:2.2.3"implementation 'org.aspectj:aspectjweaver:1.8.6'implementation 'log4j:log4j:1.2.17'implementation 'org.slf4j:slf4j-api:1.7.25'implementation 'jstl:jstl:1.2'compileOnly 'javax.servlet:servlet-api:2.5'testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}test {useJUnitPlatform()
}

现在已经初始化好 root 工程了,下面来创建多个模块工程。

2.创建模块工程

2.1 创建第一个模块工程

55bc626d2f5c0aa6da3e5814bdcbbbeb.png

e284d9a5c97a25e88bbfbbb426c21eb0.png

1d8b9c50a0be533e09ec1c787ce74d3b.png

当创建好模块工程之后,我们可以看到 settings.gradle 增加了模块工程的配置:

include 'subproject01'

2.2 创建多个模块工程

下面我们再同样创建多个模块工程,如下:

f587c8fe54feeeec9823a37a52c9b612.png

可以看到在模块工程里面,再创建模块工程,settings.gradle 则会增加配置如下:

include 'subproject01:subpj01'
findProject(':subproject01:subpj01')?.name = 'subpj01'

下面来看看 settings.gradle 的说明。

settings.gradle的文件说明

首先对 settings 文件的几点说明:

1、作用:主要是在项目初始化阶段确定一下引入哪些工程需要加入到项目构建中,为构建项目工程树做准备。

2、工程树:gradle 中有工程树的概念,类似于 maven 中的project 与module。

76cb406a5c1688c0e96bd5a939b8a16f.jpeg

3、内容:里面主要定义了当前 gradle 项目及子 project 的项目名称

4、位置:必须放在根工程目录下。

5、名字:为settings.gradle 文件,不能发生变化

6、对应实例:与 org.gradle.api.initialization.Settings 实例是一一对应的关系。每个项目只有一个settings 文件。

7、关注:作为开发者我们只需要关注该文件中的include 方法即可。使用相对路径【 :  】引入子工程。

8.一个子工程只有在setting 文件中配置了才会被 gradle 识别,这样在构建的时候才会被包含进去。案例如下所示:

//根工程项目名
rootProject.name = 'root'
//包含的子工程名称
include 'subject01' 
include 'subject02' 
include 'subject03'
//包含的子工程下的子工程名称
include 'subject01:subproject011' 
include 'subject01:subproject012'

项目名称中 ":" 代表项目的分隔符, 类似路径中的 "/". 如果以 ":" 开头则表示相对于 root project 。然后 Gradle 会为每个带有 build.gradle 脚本文件的工程构建一个与之对应的 Project 对象。


http://www.ppmy.cn/news/377970.html

相关文章

unity闪现技能键制作之技能冷却

本来认为这是一个很简单的事情(事实就是),但是水平不够导致我做了好久。 导入资源图片,点击图片,修改图片类型为sprite 新建ui- button ,添加子物体image,在image属性面板添加原图片&#xff08…

冷却水的循环方式有哪几种_消防车的水冷系统冷却水的循环方法有三种形式,即大循环、小循环和混合循环。...

在消防车冷却系统中,节温器的作用是:随消防车负荷和水温的大小改变水的循环强度(即改变冷却水的流动路线和流量),其目的是缩短防消防车启机后的预热时间,保证消防车是处于最佳温度状态下运行,以减少燃油的消耗和零部件…

冷却水的循环方式有哪几种_敞开式循环冷却水系统可分为哪几类?

敞开式循环冷却水系统是目前应用最广、类型最多的一种冷却系统。根据热水与空气接触的不同方式,冷却系统可分为两大类,即冷却池和冷却塔,分类如下。 自然冷却池又称天然冷却池。冷却水取自天然水池,换热后排回原水体自然冷却&…

Cocos2d-x技能冷却还要等多久?---之游戏开发《赵云要格斗》(9)

这里是Evankaka的博客,欢迎大家前来讨论与交流~~~~~~ 转载请注明出处http://blog.csdn.net/evankaka/article/details/42747719 本文将主要来实现游戏开发过程中,技能冷却的实现&…

7年加工作经验的程序员,从大厂跳槽出来,遭遇了什么?

引言 很久没写文章了,只是隔一两个月更新篇小说,回想起来,LZ至今工作也8年了,回想起来,一时间难免感慨,时间真的过的太快了。 当初在北京的4年多,是LZ工作中最精彩的一段经历,这也是…

android v7包CardView让你的列表更立体

CardView是Android 5.0之后发布的卡片效果控件&#xff0c;包&#xff1a;android.support.v7.widget.CardView 效果&#xff1a;可以实现圆角效果、阴影效果、让你的ui更立体。 列表适配器布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"…

Unity制作技能冷却效果

在制作ARPG等游戏时&#xff0c;主角的技能往往需要的到冷却才能释放 本文介绍在Unity中如何简单实现技能冷却效果 【Mask组件的使用】 首先制作技能图标 创建一个UI->Image Image选择Unity自带的圆形图片 在Image下添加一个按钮作为子节点&#xff0c;并适当放大按钮…

S7-200SMART中定时器的使用方法和常见注意事项汇总

S7-200SMART中定时器的使用方法和常见注意事项汇总 S7-200 SMART指令提供了下述三种类型的定时器。 • 接通延时定时器(TON):用于定时单个时间间隔 。 • 有记忆的接通延时定时器(TONR):用于累积多个定时时间间隔的时间值。 • 断开延时定时器(TOF): 用于在 OFF(或 FAL…