嘘~ 正在从服务器偷取页面 . . .

WildBox 开发


1. Gradle

使用 gradle 进行包管理,可以让原本非常笨重的标记语言变得非常轻松。

maven 管理示例:

<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>

gradle 管理示例:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
    }
}
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web") {
        exclude module: "spring-boot-starter-tomcat"
    }
    compile("org.springframework.boot:spring-boot-starter-security")
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    testCompile("mysql:mysql-connector-java:5.1.25")
}

在 pom.xml 中我们需要引入一个依赖时需要将它的groupId, artifactIdversion都用标签引起来。但是在 build.gradle 中你会发现,仅仅需要将三者的 value 用:连起来,并“调用compile函数”。在函数的调用中也可以区分出何时调用对应依赖包。

但是,正如之前的时候经验来说,Gradle 会出一些版本的错误或者未知的 bug。虽然 Gradle 能够有数量级的构建速度的增长,但是在稳定性上,maven 依然是首选项。由于 Gradle 的快速版本迭代问题,加上向下不兼容,不建议在老项目中使用。

gradle 支持增量编译,没改动过的文件不用重新编译,所以速度快很多。

Groovy

参考文章

  1. Java 构建工具:Maven 与 Gradle 的对比
  2. SpringBoot 把 Maven 干掉了,拥抱 Gradle!

文章作者: 陈鑫扬
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 陈鑫扬 !
评论
  目录