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

news/2024/5/20 10:47:39/文章来源:https://blog.csdn.net/u012887259/article/details/131179808

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.luyixian.cn/news_show_694637.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么把图片放大不改变清晰度,给大家介绍两个方法

时代的发展和进步,我们在使用手机、电脑等设备时,常常需要对图片进行放大操作。从功能上来说,图片放大可以让我们更好地观看和理解图片内容,同时也可以提高图像分辨率和清晰度,以满足不同的需求和场景首先,…

WDM波分复用技术:TFF(薄膜滤波) AWG(阵列波导光栅)介绍

WDM (Wavelength Division Multiplexing)技术是通过在光纤中传输多个不同波长的光信号来扩大光纤传输带宽并提高网络传输能力的一种技术,而TFF(薄膜滤波)和AWG(阵列波导光栅)则是两种常用的WDM技术。 TFF技术 TFF &a…

object类clone、finalize

2 什么是API API(Application Programming Interface,应用程序接口)是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件可以访问的一些功能集,但又无需访问源码或理解内部工作机制的细节. API是一种通用功能集,有时公…

自动驾驶专题介绍 ———— 激光雷达标定

文章目录 介绍激光雷达与激光雷达之间的外参标定激光雷达与摄像头的标定 介绍 激光雷达在感知、定位方面发挥着重要作用。跟摄像头一样,激光雷达也是需要进行内外参数标定的。内参标定是指内部激光发射器坐标系与雷达自身坐标系的转换关系,在出厂之前就已…

【道友避坑】CUB数据集转yolov5格式

写在前面:最近我拿到一个CUB_200_2011鸟类训练模型,但是我想将他转为yolov的格式进行应用。看了些其他博主博客后,发现跳跃性有些强。再此记录转换过程,希望各位道友修得此法后,能有所收获! 一、获取数据集…

为什么年龄越大工作失误越多水平越低能力越差-个人案例

此为内容创作模板,在发布之前请将不必要的内容删除 在日复一日的工作中,我们免不了会产生一些失误,会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的,它直接影响到我们的工作表现和个人成长。一起来谈谈作为职…

信贷产品的贷前获客营销策略搭建

在竞争激烈的信贷市场中,有效的贷前获客营销策略对于吸引潜在借款人、提高转化率以及保持客户忠诚度至关重要。本文将分享一些关于信贷产品贷前获客营销策略搭建的基本框架和经验分享,希望能对大家有所启发。 1、市场调研和目标客户定义 在制定贷前获客…

使用Unity开发一个游戏类型的区块链 [独立区块链]

ArouseBlockchain [Unity独立区块链] 这是一个学习性质的项目,使用了Unity进行独立区块链游戏的开发。 徽章维护者如何贡献使用许可 项目说明 关于本项目的使用说明 背景安装使用说明 生成器 区块链简述 区块链的基础知识简述 背景 未来趋势 区块链未来趋势的…

【什么是iMessage推送,im群发】苹果推iMessage是苹果公司为其设备用户提供的即时通讯服务

iMessage是苹果公司为其设备用户提供的即时通讯服务,拥有一系列强大的功能和特点。然而,至今为止,苹果并未提供官方的群发部署功能。iMessage主要被设计为点对点的通信工具,即用户可以与一个或多个人进行私密的聊天对话。以下是关…

VMware Workstation 17 的安装

一、简介 VMware Workstation 17.0是一款功能非常强大的虚拟机,可以帮助用户在Windows系统上同时开启多个系统,不仅能在虚拟机上安装上不同的操作系统,比如Mac、Linux以及Windows10/11等,还能与云技术和容器技术(如 D…

SpringCloud Eureka注册服务提供者(七)

这里我们在原来的服务提供者项目 microservice-student-provider-1001 上面直接修改&#xff1a; 首先pom.xml修改&#xff0c;加上eureka客户端依赖&#xff1a; <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>…

1.7C++流插入运算符重载

C流插入运算符重载 在 C 中&#xff0c;流插入运算符&#xff08;<<&#xff09;用于输出数据到流中的运算符&#xff0c;流插入运算符可以被重载&#xff0c;使得程序员可以自定义输出对象的方式。 重载流插入运算符的一般形式如下&#xff1a; 其中&#xff0c;T 是…

运维(SRE)成长之路-第1天 搭建虚拟机(图示)

1.Linux安装前准备 虚拟机&#xff1a;用软件&#xff08;如&#xff1a;vmware,virtualbox等&#xff09;模拟硬件,方便实验的灵活配置 虚拟化软件&#xff0c;建议使用 Vmware Workstation 虚拟硬件配置 CPU&#xff1a;2核或更多 内存&#xff1a;1G以上&#xff0c;推荐2…

天线设计中的磁介质材料 探索可重构潜力

​from&#xff1a;IEEE Antennas & Propagation Magazine (Vol. 61 / No. 1 / Feb. 2019, pp:29-40) -- 文 前 -- 这篇文章针对铁氧体在外置磁场下磁导率发生变化这个特点&#xff0c;探讨铁氧体在可重构天线中的应用。文中对铁氧体材料的选择&#xff0c;磁导率数学模型…

Linux系统的tty架构及UART驱动详解

​一、模块硬件学习 1.1. Uart介绍 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter)&#xff0c;通常称为UART&#xff0c;是一种异步收发传输器&#xff0c;是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。 作为把并…

基于Hexo和Butterfly创建个人技术博客,(5) 使用Hexo的Tags Plugin插件增强博客文章内容和视觉表现力

Hexo官司网查看 这里 注意&#xff1a; Tags语法是Hexo插件提供的&#xff0c;是非标准语言&#xff0c;写文章时要注意以下几点&#xff1a; 用于在文章中快速插入特定的内容&#xff0c;作用等同于其它语言&#xff0c;可理解为一种增强版本的markdown&#xff1b;可混合Mark…

嵌入式软件开发岗位----求职过程记录(基础知识和面经总结)

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识以及面试问题等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应用&#xf…

Elastic 8.8 版引入了全新的 Learned Sparse Encoder 模型,并宣布正式推出合成监测

作者&#xff1a;Brian Bergholm 2023年5月25日 今天&#xff0c;我们非常高兴地宣布 Elastic 8.8 版正式发布。 新增功能 Elastic 企业搜索可帮助开发人员利用 Elasticsearch 实现强大的现代搜索和发现体验。 请在 “Elastic 企业搜索亮点” 博文或 8.8 版发行说明中&#…

MySQL启停要十分钟?

一、问题背景 基础环境&#xff1a; 主机类型&#xff1a;x3850 X6 操作系统&#xff1a;DB:Red Hat Enterprise Linux 9.1 7.8 存储&#xff1a;IBM存储&#xff0c;500GB 内存&#xff1a;64 G CPU型号&#xff1a;E7-4830 v3 2.10GHz CPU核数&#xff1a;32CORE 数据…

png转jpg,直接改后缀?

通过把.png改为.jpg可以改变图片的格式么&#xff1f; 将PNG文件扩展名改为JPEG的扩展名&#xff08;.jpg或.jpeg&#xff09;不会更改图像的格式。它只是更改了文件扩展名&#xff0c;这可能导致一些图像查看器和编辑器无法正确识别和处理该文件。 PNG和JPEG是两种不同的图像文…