下载安装配置gradle,并使用IDEA创建gradle项目(多模块)【SpringBoot】

目录

一、安装配置gradle

下载gradle

配置环境变量(Mac实例):

二、IDEA新建gradle SpringBoot项目

三、IDEA新建gradle SpringBoot多模块项目

创建父项目

构建子项目

统一删除多余的文件和文件夹

多项目build.gradle文件配置

allprojects和subprojects

给出最终配置


构建gradle项目之前,一定要先配置好gradle,再进行构建,否则会发生意想不到的效果。

一、安装配置gradle

下载gradle

首先去官网:https://gradle.org/releases/,然后下载自己想要的版本,这里选择最新版:

下载后直接解压即可。

配置环境变量(Mac实例):

  •  GRADLE_HOME为刚刚gradle的解压路径
  • GRADLE_USER_HOME为本地仓库路径,如果不配置 jar会存放在/Users/xxx/.gradle/caches/modules-2/files-2.1路径下
GRADLE_HOME=/Users/xxx/gradle-6.5 
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
GRADLE_USER_HOME=/Users/xxx/gradle-6.5/LocalHouse

配置后source一下配置文件,然后在终端中输入

gradle -version

看到如下结果即配置成功 

  

二、IDEA新建gradle SpringBoot项目

File--New--Project

Next,Type选择:Gradle Project

Next--Finish,在弹出的窗口中选择使用自己本地的gradle,并配置本地gradle路径;如果前一步的环境变量配置好了本地仓库,这里会自动设置好,jar包下载的路径就是:你的本地仓库路径+/caches/modules-2/files-2.1

 单机ok,去看自己的gradle仓库,其路径下已经有了jar包:【注意:此处如果是在配置好环境变量前就开始创建项目,那需要删除项目,配置好环境变量后重新创建,否则jar就是下载不到你想要的路径中!

三、IDEA新建gradle SpringBoot多模块项目

创建父项目

只是一个普通的Gradle项目即可:File--New--Project

next,填好GroupId和ArtifactId

next

next --  finish完成创建

在生成的项目中,删除src文件夹

构建子项目

简单划分两个模块

  1. 正常业务逻辑【asset-api】
  2. 通用工具类【asset-utils】,asset-api需要依赖此模块

在父项目名称右击,创建模块

选择Spring Initializr,next【注意:此处由于是创建SpringBoot项目所以选择Spring Initializr,如果是创建普通项目可以继续选择Gradle

Group与父项目保持一致,Artifact填入子模块名称,Type选择Gradle Project,其余信息根据需求修改,然后next

勾选自己需要的SpringBoot配置,以及SpringBoot版本,然后next

确定子模块名称,然后finish,然后弹出窗口配置子模块的gradle,和刚才一样一通选就好了。然后点ok

此时右侧Gradle视图已经有了刚刚创建的asset-api

 asset-util模块创建同上,但我们发现在右侧的Gradle视图中,asset和asset-api以及asset-utils是平级关系,并不是主从关系,因此要修改父项目中的settings.gradle文件,加入:

include 'asset-api'
include 'asset-utils'

此时,父项目的settings.gradle应该如下,包含两个模块,刷新Gradle,右侧的Gradle视图已两个子项目已经从属于asset,同时删除多余的平级关系。

统一删除多余的文件和文件夹

.gitignore / HELP.md / gradle文件夹 / 子项目的settings.gradle

 

配置asset-api对asset-utils的依赖, 在asset-api模块的build.gradle的dependencies中加入compile project(":asset-utils")

dependencies {
    ...
    ...
    compile project(":asset-utils")
}

然后再看右侧Gradle的视图,已经可以看到asset-api对asset-utils的依赖

测试:

在asset-utils模块中新建UuidUtil类,然后在asset-api模块中调用,并运行。项目正常启动,并正常打印!!nice

多项目build.gradle文件配置

多项目配置可以统一管理,无需每一个子模块都引入一次,统一在父项目的build.gradle中配置

  • 统一配置java插件及版本,删除子模块中重复配置
  • 统一配置公共属性:group、version,删除子模块中重复配置
  • 配置模块间依赖
  • 配置共用仓库
  • 配置通用依赖dependencies 

allprojects和subprojects

  • allprojects中配置对所有模块生效,包括父模块
  • subprojects仅对子模块生效

刚创建好的项目每一个build.gradle中都有java插件配置

plugins {
    id 'java'
}

在父项目的build.gradle中可将其放入allprojects块中

apply plugin: 'java'

给出最终配置

父模块的build.gradle

// 统一配置java插件、版本、公共属性:group、version(父模块也需要)
allprojects {
    group 'com.fc'
    version '1.0-SNAPSHOT'

    //项目是java项目
    apply plugin: 'java'

    sourceCompatibility = 1.8
}

// 配置子模块共用仓库、依赖jar
subprojects {
    repositories {
        mavenLocal()
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
    }

    dependencies {
        ...
        xxx
        ...
    }
}

asset-api模块的build.gradle

dependencies {
    compile project(":asset-utils")
}

asset-utils模块的build.gradle

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于使用 Gradle 创建模块 Spring Boot 工程的方法,可以按照以下步骤操作: 1. 创建 Gradle 项目IDEA创建一个 Gradle 项目,选择 Kotlin 或者 Java 作为编程语言,选择 Gradle 作为项目类型,然后点击下一步。 2. 创建模块工程 在项目创建完成后,可以在项目根目录下创建一个 settings.gradle 文件,然后在其中定义多模块工程的名称,例如: ``` rootProject.name = 'my-spring-boot-project' include 'my-spring-boot-project-core' include 'my-spring-boot-project-web' ``` 这里我们定义了两个子模块,即 my-spring-boot-project-core 和 my-spring-boot-project-web。 3. 配置模块 在每个子模块build.gradle 文件中,添加 Spring Boot 插件和其他必要的依赖,例如: ``` plugins { id 'org.springframework.boot' version '2.6.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' kotlin("jvm") version "1.5.31" } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' // 其他依赖 } ``` 4. 配置模块之间的依赖关系 在每个子模块build.gradle 文件中,可以添加对其他子模块的依赖,例如: ``` dependencies { implementation project(':my-spring-boot-project-core') } ``` 这里我们在 my-spring-boot-project-web 子模块中添加了对 my-spring-boot-project-core 子模块的依赖。 5. 运行 Spring Boot 应用 在每个子模块中,都可以创建一个 Application 类来启动 Spring Boot 应用,例如: ``` @SpringBootApplication class MySpringBootProjectApplication fun main(args: Array<String>) { runApplication<MySpringBootProjectApplication>(*args) } ``` 然后在每个子模块build.gradle 文件中,添加运行 Spring Boot 应用的任务,例如: ``` tasks.named("bootRun") { dependsOn(":my-spring-boot-project-core:build") classpath = sourceSets.main.get().runtimeClasspath } ``` 这里我们定义了一个 bootRun 任务,它依赖于 my-spring-boot-project-core 子模块的 build 任务,然后设置 classpath。 6. 运行多模块 Spring Boot 应用 最后,在项目根目录下运行以下命令,即可启动多模块 Spring Boot 应用: ``` ./gradlew :my-spring-boot-project-web:bootRun ``` 这里我们启动了 my-spring-boot-project-web 子模块的 Spring Boot 应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值