使用gradle管理spring-boot项目

使用gradle管理spring-boot项目

  • gradle与maven的不同点
  • 使用gradle创建spring-boot项目
    • 创建文件夹
    • 进入文件夹
    • spring-boot-study-gradle
    • 目录结构如图

在前段时间,spring的源码从maven转换到了gradle。同为构建工具,为什么spring要用的gradle而放弃maven呢?

gradle与maven的不同点

  • gradle是一个使用基于Groovy的DSL(领域特定语言)的构建自动化系统。
  • maven是一个软件项目管理系统,主要用于Java项目。
  • gradle 不使用XML文件来声明项目配置。
  • maven使用XML文件来声明项目,其依赖项,构建顺序及其必需的插件。
  • gradle基于完成工作的任务依赖关系图。
  • maven基于固定模型和线性模型的阶段。
  • 在Gradle中,主要目标是为项目添加功能。
  • 在Maven中,主要目标与项目阶段有关。
  • gradle通过跟踪输入和输出任务来避免工作,并且仅运行已更改的任务。因此,它提供了更快的性能。
  • maven不使用构建缓存。因此,它的构建时间比Gradle慢。
  • Gradle是高度可定制的;它提供了广泛的IDE支持自定义版本。
  • Maven的参数和要求数量有限,因此自定义有点复杂。
  • Gradle避免了Java的编译。
  • 在Maven中,编译是必需的。
    还有很多不同的地方,我只总结了以上几点。

使用gradle创建spring-boot项目

既然spring的源码转换为了gradle,为了和spring编译工具一致,现在开始使用gradle进行spring-boot项目的管理。

创建文件夹

在指定的文件夹下面创建文件夹,如我在D盘:

D:/> mkdir spring-boot-study-gradle

进入文件夹

D:/> cd spring-boot-study-gradle
##创建gradle项目 初始化
D:/spring-boot-study-gradle> gradle init
##选择生成的类型,直接回车就好了
Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4]
##选择先关的脚本语言,直接回车就好了
Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2]
##选择项目的名称,默认就是文件夹名,可以根据自己需求自己写
Project name (default: test):
##构建成功
> Task :init
Get more help with your project: https://guides.gradle.org/creating-new-gradle-builds

BUILD SUCCESSFUL in 2m 5s
2 actionable tasks: 2 executed

spring-boot-study-gradle

因为这个项目是主项目,以后相关的spring-boot学习的项目都在这个目录下面。我们在当前目录下创建一个子项目的文件夹:

D:/spring-boot-study-gradle> mkdir spring-boot-study-gradle-demo1
##在spring-boot-study-gradle-demo1创建一个build.gradle(gradle构建文件),setting.gradle(gradle设置文件)
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>type nul>build.gradle
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>type nul>settings.gradle
#将相关内容写入build.gradle和setting.gradle(建议用相关idea编辑,我本地使用的vsCode)
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>echo "mainClassName = 'org.tony.springboot.demo1.Main'" > build.gradle 
##mainClassName 指定启动类
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>echo 'rootProject.name = "spring-boot-study-gradle-demo1"' > settings.gradle 
##rootProject.name指定项目的名称

之后就可以在vsCode中去创建相关的java文件等操作。
因为spring-boot-study-gradle是父工程,我们需要修改spring-boot-study-gradle的build.gradle和settings.gradle.

  • build.gradle
//指定所有项目的maven地址
allprojects{
    repositories {
        maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
}
//指定子项目的版本
subprojects{
    version="1.0"
}
//相关spring-boot-study-gradle-demo1的配置
project("spring-boot-study-gradle-demo1"){
	//申请相关的插件
    apply plugin:'java-library'
    apply plugin: 'application'
	//添加相应的依赖
    dependencies{
        compile('org.springframework.boot:spring-boot-starter-web:2.3.1.RELEASE')
        testCompile('junit:junit:4.13')
    }
}
  • settings.gradle
rootProject.name = 'spring-boot-cloud-study-gradle'
//导入spring-boot-study-gradle-demo1子项目,将子项目和父项目关联
include "spring-boot-study-gradle-demo1"

目录结构如图

使用gradle管理spring-boot项目_第1张图片
之后就可以进行相关的代码开发了。

你可能感兴趣的:(Spring,Boot)