Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >7--Gradle进阶 - settings.gradle的文件说明

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

作者头像
Devops海洋的渔夫
发布于 2023-09-01 00:49:00
发布于 2023-09-01 00:49:00
1.5K00
代码可运行
举报
文章被收录于专栏:Devops专栏Devops专栏
运行总次数:0
代码可运行

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

前言

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

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

多模块工程创建

1. 创建 root 工程

1685877756176

1.1 配置本地 Gradle

1685878053728

1.2 配置依赖

1685878091474

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 创建第一个模块工程

1685878327950

1685878361182

1685878406236

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
include 'subproject01'
2.2 创建多个模块工程

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

1685878685770

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
include 'subproject01:subpj01'
findProject(':subproject01:subpj01')?.name = 'subpj01'

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

settings.gradle的文件说明

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

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

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

img

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

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//根工程项目名
rootProject.name = 'root'
//包含的子工程名称
include 'subject01' 
include 'subject02' 
include 'subject03'
//包含的子工程下的子工程名称
include 'subject01:subproject011' 
include 'subject01:subproject012'

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
4--Gradle入门 - 创建普通的web工程
Devops海洋的渔夫
2023/09/01
2820
4--Gradle入门 - 创建普通的web工程
Gradle基础操作一
使用 Project.file(java.lang.Object)方法,通过指定文件的相对路径或绝对路径来对文件的操作,其中相对路径为相对当前project[根project 或者子project]的目录。其实使用Project.file(java.lang.Object)方法创建的 File 对象就是 Java 中的 File 对象,我们可以使用它就像在 Java 中使用一样。示例代码如下:
@派大星
2023/06/28
4000
Gradle基础操作一
Gradle 项目的生命周期和settings文件
Gradle 项目的生命周期分为三大阶段: Initialization -> Configuration -> Execution. 每个阶段都有自己的职责,具体如下 图所示:
鱼找水需要时间
2023/02/16
4570
Gradle 项目的生命周期和settings文件
Gradle入门基础一
最近项目中使用到了Gradle所以就抓紧学习了一下。以下资料来自互联网,属于个人整理。图片如有侵权会删除
@派大星
2023/06/28
2680
Gradle入门基础一
[Gradle] Gradle 聚合模块配置
此处主要为了过滤容器模块中的插件配置,容器模块的主要用来管理下属部分的模块,无需添加依赖和插件 spring-security-sso、common-dependencies都是容器模块
架构探险之道
2019/07/25
1.9K0
Gradle 多模块项目实现 Maven Parent 继承方式
哎_小羊
2018/01/02
8.1K0
Gradle 的Dependencies
implementation 'org.apache.logging.log4j:log4j:2.17.2' 上面是简写法,完整版写法如下: implementation group: 'org.apache.logging.log4j', name: 'log4j', version: '2.17.2'
鱼找水需要时间
2023/02/16
1.5K0
Gradle 的Dependencies
Gradle入门
https://www.bilibili.com/video/BV1yT41137Y7
程序员Leo
2023/08/02
4100
Gradle入门
一篇SSM框架整合友好的文章(一)
本文主要介绍了如何利用MyBatis与SpringBoot实现MySQL数据库的增删改查,以及如何使用MyBatis与SpringBoot进行整合。包括配置文件、实体类、Mapper文件、以及增删改查的代码实现。此外,还介绍了如何利用MyBatis与SpringBoot实现单元测试。
方志朋
2017/12/29
7380
Gradle 进阶学习之 Dependencies 【依赖】
在Gradle中,依赖管理是一个非常重要的部分,它允许你指定项目所需的各种库和模块。你的案例中提到了三种常见的依赖类型:项目依赖、本地JAR依赖和远程仓库的直接依赖。下面我将分别解释这三种依赖类型,并提供相应的配置方法。
叫我阿杰好了
2024/04/26
2.4K0
Gradle 进阶学习之 Dependencies 【依赖】
Maven 高级
例如,父工程和子工程的版本号一样,可以直接使用父工程的版本内置属性${version}:
用户9615083
2022/12/25
1.1K0
Maven 高级
ssm整合 maven配置需要的jar
<!--测试类所需要的jar--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>o
热情仔
2019/11/17
6340
ssm整合  maven配置需要的jar
基于maven+ssm的增删改查之maven环境的搭建
1、Maven插件的设置: Window->Preferences->Maven (1)installations : 指定Maven核心程序的位置。默认是插件自带的Maven程序,可以改为我们自己解压的那个。
西西嘛呦
2020/08/26
6140
基于maven+ssm的增删改查之maven环境的搭建
gradle安装和在idea中使用
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。 面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。 Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。来源:(百度百科)
共饮一杯无
2022/11/28
1.6K0
gradle安装和在idea中使用
elasticSearch学习(六)
ElasticSearch同时也支持高亮查询,他会将查询结果中的查询条件关键字进行自动的高亮显示。
崔笑颜
2020/08/17
3000
手把手教你整合最优雅的SSM框架
现在很多公司新的项目已经使用springboot来搭建ssm项目了。实在是太方便了,so easy,妈妈再也不用担心我写程序了。 但是用越简单的东西,他的底层实现越复杂,一旦出现问题,如果你不懂他的实现原理,真的无从下手。 另外还有很多老项目也没有引入springboot,所以我们还要对手动配置xml文件有所了解,因为不是你一进公司就能遇到新的项目,有可能大部分工作是维护老项目,你每天的工作可能就是在埋前任挖的坑,所以了解最基本的配置还是很重要的。 ---- 在写代码之前我们先了解一下这三个框架分别是干什么
互扯程序
2018/02/07
2.9K0
手把手教你整合最优雅的SSM框架
[Maven进阶]聚合和继承
我们的项目已经从以前的单模块,变成了现在的多模块开发。项目一旦变成了多模块开发以后,就会引发一些问题,在这一节中我们会介绍两个内容聚合和继承,用这两个知识来解决下分模块后的一些问题。
十八岁讨厌编程
2022/12/10
8120
gradle dependencies 查找jar导入OR解决jar冲突
在gradle项目中,使用gradle dependencies先查询jar包的导入关系。然后找到导入的jar加入到项目中来。解决jar冲突等问题。
oktokeep
2024/10/09
1680
gradle_学习_02_gradle多模块构建实例
一、前言 二、多模块构建 1.工程结构  父工程:weixin-service 子模块:weixin-gz                weixin-qy 2.父工程 weixin-service
shirayner
2018/08/10
3120
gradle_学习_02_gradle多模块构建实例
【尚筹网】二、环境搭建一
在 atcrowdfunding06-common-reverse 模块的 pom.xml 中配置
用户11332765
2024/11/26
840
【尚筹网】二、环境搭建一
相关推荐
4--Gradle入门 - 创建普通的web工程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档