首页 > 其他分享 >Gradle的多模块

Gradle的多模块

时间:2024-11-15 13:50:22浏览次数:1  
标签:spring boot springframework gradle 模块 org Gradle cloud

安装  tree 后 执行 tree -f . > tr.txt 可以生产下面的代码结构


├── ./api-test
│   ├── ./api-test/build.gradle
│   └── ./api-test/src
│       └── ./api-test/src/main
│           └── ./api-test/src/main/java
├── ./build.gradle
├── ./gradle
│   └── ./gradle/wrapper
│       ├── ./gradle/wrapper/gradle-wrapper.jar
│       └── ./gradle/wrapper/gradle-wrapper.properties
├── ./gradlew
├── ./gradlew.bat
├── ./settings.gradle

这是最基本的多模块模式
gradle-wrapper.properties 可以配置国内的镜像地址 distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.3.2-bin.zip

settings.gradle 记录的是项目及模块

父类的build.gradle 记录了最基本的 引用插件-plugins 依赖包来源-repositories 依赖包配置- dependencies (公共依赖包可以定在这里)
//buildscript中的ext用于定义框架的版本
buildscript {
    ext {
        springBootVersion = "2.6.13"
        springCloudVersion = "2021.0.5"
        springCloudAlibabaVersion = "2021.0.5.0"

    }
}

/**
 * 兼容版本
 * springboot 2.6.*或者2.7.*
 * springCloud 2021.0.5
 * springCloudAlibaba 2021.0.5.0
 * nacos 2.2.0
 */

// 插件
plugins {
    id "java"
    // 有这个声明,子模块可以使用org.springframework.boot插件而无需指定版本,但是apply=false表示当前模块不使用此插件
    id "org.springframework.boot" version "${springBootVersion}" apply false
    id "io.spring.dependency-management" version "1.0.11.RELEASE"
}


//定义依赖源
allprojects {
    group = "zt"
    version = "1.0-SNAPSHOT"
    // 仓库
    repositories {
        mavenLocal()
        maven {
            setUrl("https://maven.aliyun.com/repository/public/")
        }
        maven {
            setUrl("https://公司/nexus/content/groups/public/")
        }
        mavenCentral()
    }
}

//子模块配置
subprojects {

    apply plugin: "org.springframework.boot"  //使用springboot插件
    apply plugin: "io.spring.dependency-management"  //版本管理插件
    apply plugin: "java"

    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    // java编译的时候缺省状态下会因为中文字符而失败
    [compileJava, compileTestJava, javadoc]*.options*.encoding = "UTF-8"
    // 配置所有子模块的依赖仓库地址
    bootJar {
        archiveBaseName = "dist"
        archiveVersion = ""
    }
    // 依赖管理
    dependencyManagement {
        imports {
            mavenBom "org.springframework.boot:spring-boot-dependencies:${springBootVersion}"
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
//            mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${springCloudAlibabaVersion}"
        }
    }

    //默认应用依赖
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation 'org.springframework.boot:spring-boot-starter-validation'
        implementation 'org.springframework.boot:spring-boot-starter-test'
        implementation 'org.springframework.boot:spring-boot-starter-data-redis'
        implementation 'org.springframework.boot:spring-boot-starter-jdbc'
        implementation "org.springframework.cloud:spring-cloud-starter-bootstrap"

        implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:${springCloudAlibabaVersion}"
        implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:${springCloudAlibabaVersion}"

        annotationProcessor 'org.projectlombok:lombok:1.18.20'
    }
}

 

子模块的 build.gradle

// 配置service模块
plugins {
    id 'java-library'
}
 
dependencies {
    // 定义依赖项
    implementation 'org.projectlombok:lombok:1.18.20'
    implementation project(':api') 
}

 

 

  

  

  

标签:spring,boot,springframework,gradle,模块,org,Gradle,cloud
From: https://www.cnblogs.com/long-yuan/p/18547798

相关文章

  • 边缘计算模块和工控机有什么区别?
    边缘计算模块和工控机在功能、设计和应用场景上存在一些显著的区别:1.定义和目的:-边缘计算模块:边缘计算模块是一种在数据源附近进行数据处理和分析的分布式计算平台,它通过融合网络、计算、存储和应用核心能力,提供边缘智能服务,以减少数据传输至云端的延迟和带宽需求。-工......
  • Python包和模块管理
    二、模块模块是什么?模块就是一个.py文件,可以定义函数、类和变量,模块内也可能包含可执行的代码。模块的作用代码重用:模块可以将代码划分为更小的单元,方便在其他文件中重复使用。组织和结构化代码:模块帮助将大型代码库分解成逻辑单元,使代码结构更清晰。避免命名冲突:模块引......
  • 23.Python基础篇-模块和包
    模块(Module)模块的定义:模块是包含Python代码的.py文件,可包含变量、函数、类等代码单元。每个Python文件本质上就是一个模块。两种使用方式import与from...import...importmath#导入整个模块frommathimportpi,sqrt#导入模块中的特......
  • 从0搭建一个FIFO模块-01(基础知识)
    1.FIFO介绍基本概念FIFO(FirstIn,FirstOut)是一种常用的数据结构,用于存储和处理数据。它的工作原理与排队的顺序类似,遵循"先进先出"的原则。即,第一个进入FIFO的数据会是第一个被取出的数据。在FPGA设计中,可以使用AM作为FIFO的存储单元,再通过控制逻辑来管理读写操作和指针......
  • 【FMC155A】基于VITA57.1标准的2路500MSPS/1GSPS/1.25GSPS 14位AD采集FMC子卡模块(交流
    ​板卡概述FMC155A是一款基于VITA57.1标准的,实现2路14-bit、500MSPS/1GSPS/1.25GSPS采样率交流耦合ADC同步采集FMC子卡模块。该模块遵循VITA57.1规范,可直接与FPGA载卡配合使用,板卡ADC器件采用ADI的AD9680芯片,该芯片具有两个模拟输入通道和两个JESD204B输出数据通道对,可用于高达2......
  • 电源模块质量好坏,电路原理设计和焊接工艺 芯片,变压器元件 电解电容和陶瓷电容 批量检
    电源模块质量好坏,电路原理设计和焊接工艺芯片,变压器元件电解电容和陶瓷电容批量检测老化和高温老化ACDCDCDC电源模块是电子设备的重要组成部分,其可靠性直接关系到产品的质量。因此,在选择电源模块时,除了关注输入、输出、纹波、击穿、温度、认证等特性指标外,还需要注意以下几......
  • 爱科微AIC8800D80P Wi-Fi6模块驱动移植
    1.简介开发环境Ubuntu20.04目标平台:瑞芯微RK356X目标平台内核版本:4.19.234wifi模块型号:AIC8800D80PWi-Fi6/BT5.02.硬件wifi模块的PID:VID=a69c:8d80此模块挂在RK356X的PCIE接口上01:00.0Class0280:a69c:8d80Class0280:表示网络控制器(通常是......
  • 基于FPGA的1024QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置
    1.算法仿真效果vivado2019.2仿真结果如下(完整代码运行后无水印): 设置SNR=40db   将数据导入matlab显示星座图:   设置SNR=35db   将数据导入matlab显示星座图:   仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要     ......
  • 网页版五子棋——对战模块(客户端开发)
    前一篇文章:网页版五子棋——匹配模块(服务器端开发)-CSDN博客项目源代码:Java:利用Java解题与实现部分功能及小项目的代码集合-Gitee.com目录·前言一、前后端交互接口设计二、游戏房间页面基本结构1.游戏房间页面布局2.游戏房间页面样式设计三、实现棋盘信息绘制四......
  • App中第三方登录和分享模块的实现
    @目录1流程2设计与实现3优化本文目的:“实现一套易于使用、维护的第三方登录和分享模块”我们开发App有时为了吸引用户,会引入三方的授权登录降低用户的注册和登录操作,同时会根据业务需求引入三方的分享服务。目前可用的第三方授权登录和分享有很多,国内比较常用的有微信、QQ、......