【springboot开发】Gradle VS Maven

前言: java构建工具的主要作用是依赖管理和构建的生命周期管理。gradle和maven是目前java中最流行的两个构建工具,springboot常用maven,Android studio使用gradle。

1. 简介

主流java构建工具:

  • Ant
  • Maven
  • Gradle

在这里插入图片描述

2. Maven

2.1 安装

  • 从官网下载解压到本地目录。配置好MAVEN_HOME,并设置环境变量
  • 主流的Java IDE: Eclipse可以安装Maven。Intellij有内置的Maven可以使用。

2.2 依赖管理

Maven的配置文件是.pom文件,它使用XML文件描述正在构建的项目以及与第三方模块有关的软件依赖性,构建顺序以及所需的插件。可以提前定义打包和编译之类的任务。用springboot举例:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
             http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.vs</groupId>
    <artifactId>com.vs.maven.gradle</artifactId>
    <version>1.0</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.6.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa
            </artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Maven将从不同的仓库下载库和插件,然后将它们全部放入本地计算机的缓存中。

2.3 构建生命周期管理

Maven有三个生命周期,每个生命周期又分为多个阶段:

  • Clean:包含3个阶段,与清理上次构建生成的文件相关
  • Default:Maven的核心生命周期,包含多个阶段如预处理、编译、测试、打包、安装到本地仓库、发布到远程仓库等。
  • Site: 包含4个阶段,与生成项目报告,站点,发布站点相关。

3. Gradle

3.1 安装

  • 从官网下载解压到本地目录。配置好GRADLE_HOME,并设置环境变量
  • 主流的Java IDE: Eclipse可以安装Gradle。Intellij有内置的Gradle可以使用。

3.2 依赖管理

相比于pom文件更加简洁,在pom.xml中我们需要引入一个依赖时需要将它的groupId, artifactId和version都用标签引起来。但是在build.gradle中仅仅需要将三者的value用:连起来,并"调用compile函数"。
例如:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
</dependencies>

对应的gradle配置:

dependencies {
    compile("org.springframework.boot:spring-boot-starter-security")
}

总结

  1. gradle使用了Groovy作为配置文件,相较于maven的pom文件更加灵活
  2. Gradle和Maven都支持并行的项目构建和依赖解析。但是gradle的三个特点让gradle可以跑的比maven快上一点:
    • 增量构建
    • 构建缓存
    • Gradle守护进程
  3. Gradle非常灵活,并且基于脚本。自定义构建将很容易在Gradle上完成。
  4. Gradle功能更强大。但是,有时候一个中小型的项目不需要它提供的大多数功能,则Maven可能就是最佳选择。而Gradle则是大型项目的最佳选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值