当前位置:   article > 正文

SpringBoot使用Gradle构建多模块项目_springboot集成gradle

springboot集成gradle

SpringBoot使用Gradle构建多模块项目

1 概述

Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快,这就给构建一个多模块Gradle项目造成了不少的困难。因此本文采用:Java+Gradle+Groovy的方式来构建一个多模块项目。

2 环境

Gradle 7.5.1
Spring Boot 2.6.1
OpenJDK 17

3 构建项目工程

3.1 构建一个父项目工程

在这里插入图片描述

创建好后,我们为父工程指定相应的仓库和配置,类似配置maven一样

在这里插入图片描述

然后在设置项目的jdk并点击小图标,此时父工程创建完毕。

在这里插入图片描述

3.2创建父工程下的子模块

在这里插入图片描述
在这里插入图片描述

最终生成的如下图所示,将没用的目录和文件干掉。如父工程的src文件,子工程下的test文件

在这里插入图片描述
在这里插入图片描述

新建完后我们看父工程下的Settings.gradle文件下有没有子模块的文件名字

在这里插入图片描述

至此建立建立子模块完毕,同理,建立模块2和3等等,步骤和建立模块1一致。

3.3 配置父子工程依赖
我们想要的效果是,子工程可以继承父工程的依赖。

在这里插入图片描述
在这里插入图片描述

依赖

buildscript{
    allprojects{
        gradle.projectsEvaluated {
            allprojects{
                jar{ enabled = true}
            }
        }
    }
}
plugins {
    id 'org.springframework.boot' version '2.6.1'
}
allprojects{
    repositories {
        mavenCentral()}
    group 'com.lanhai'
    version '1.0-SNAPSHOT'

    apply  plugin: 'java'
    apply  plugin: 'idea'

    apply  plugin: 'org.springframework.boot'
    apply  plugin: 'io.spring.dependency-management'

    bootJar {
        enabled = true}
}

subprojects {
    sourceCompatibility  = 17
    targetCompatibility  = 17
    configurations {
        compileOnly {
            extendsFrom annotationProcessor
        }
    }
    dependencies {
//        implementation('org.springframework.boot:spring-boot-starter-web') {
//            exclude group: 'org.springframework.boot', module:'spring-boot-starter-tomcat'
//        }
        implementation 'org.springframework.boot:spring-boot-starter-web'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        implementation 'org.springframework.boot:spring-boot-starter-jetty'
        implementation 'org.springframework.boot:spring-boot-starter-data-redis'
        implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
        implementation 'org.springframework.boot:spring-boot-starter-cache'
        compileOnly 'org.projectlombok:lombok'
        runtimeOnly 'mysql:mysql-connector-java'
        annotationProcessor 'org.projectlombok:lombok'
        annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
        implementation 'com.alibaba:fastjson:1.2.78'
        implementation 'cn.hutool:hutool-core:5.7.17'
        implementation 'org.springdoc:springdoc-openapi-ui:1.6.3'
        implementation 'redis.clients:jedis'
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

子模块内面东西全部去掉,需要自己的依赖就在里面加

在这里插入图片描述

3.4 打包成可运行的jar包

在这里插入图片描述
查看生成的jar包
在这里插入图片描述
至此全部结束

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/305658
推荐阅读
相关标签
  

闽ICP备14008679号