`

使用gradle构建java项目3

阅读更多

 

gradle 是什么

gradle 是一个让构建自动化的工具,类似于maven,ant的功能.
使用gradle可以给java项目编译,单元测试,打包,或者生成可执行的jar包等

gradle的依赖环境

gradle依赖java环境,所以使用gradle前需要安装jdk 或jre

gradle 构建项目的流程

gradle的构建依赖于task, task可以指定与其他task之间的依赖关系 比如,有两个task,walk 和bike,如果指定walk依赖bike,那么 执行walk前会先执行bike.

task的来源有两种:

  1. 1.插件提供,gradle有很多现成的插件;



 

 

  1. 2.自定义:在build.gradle 文件中声明task


 

task 能实现哪些功能

下面是一些常用的基本功能

复制

 

task walk(description:'walk') {
    doLast {
        copy {
            into 'demo'
            exclude '**/.svn/**'
            from('README.md')
        }
    }
}

  

 

删除

 

task walk(description:'walk') {
    doLast {
        println 'walk...'
      
        project.delete {
            delete 'README.md'
            followSymlinks = true
        }
        
    }
}

参考:https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#N1512A 

 

 

 

 

如何执行任务

方式一:使用全局命令

gradle <任务名>



 

方式二:使用项目中的脚本

./gradlew <任务名>



 

引入本地jar包

 

compile project.fileTree(dir:'/Users/whuanghkl/code/mygit/myproject/target',include:['io0007-0.0.1.jar'])

 

 

gradle的插件有哪些

参考 https://docs.gradle.org/current/userguide/userguide.html



 

如何查询依赖的版本

gradle中依赖的仓库有多种:


参考:https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html

我们可以选择 maven仓库: 

 

repositories {
    mavenCentral()
}

 

 

那么查询依赖就和maven一样了.

生成可执行的jar包

我的项目是spring boot,所以需要引入插件'org.springframework.boot'
id 'org.springframework.boot' version '2.0.3.RELEASE'
需要在build.gradle 文件中 指定可执行jar的main class :

 

jar {
    manifest {
        attributes 'Main-Class': 'com.kunlunsoft.Application'
    }
}

 

 

执行任务bootJar 就可以生成可执行的jar包





  

gradle 与maven相比有哪些优势

  1. 因为基于 groovy,功能更强大,可以很方便的自定义任务;
  2. 添加依赖更简洁方便,maven 需要三行,gradle只需要一行;
  3. 任务的执行流程更灵活,不像maven的生命周期那么固定.

我项目中完整的build.gradle 文件如下:

 

plugins {
    id 'java'
    id 'base'
//    id 'application'
    id 'org.springframework.boot' version '2.0.3.RELEASE'
}


//mainClassName = "com.kunlunsoft.Application"
group 'com.kunlunsoft'
version '1.0.0-SNAPSHOT'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}

jar {
    manifest {
        attributes 'Main-Class': 'com.kunlunsoft.Application'
    }
}
task walk(description:'walk') {
    doLast {
        println 'walk...'
    }
}



dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile("org.springframework.boot:spring-boot-starter-test")
    //数据源
    compile 'org.springframework.boot:spring-boot-starter:1.5.14.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-web:1.5.14.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-data-redis:1.5.14.RELEASE'
    compile 'mysql:mysql-connector-java:5.1.38'

    compile project.fileTree(dir:'/Users/whuanghkl/code/myproject/target',include:['io0007-0.0.1-SNAPSHOT.jar'])
    compile 'com.google.guava:guava:23.0-rc1'
    compile 'org.apache.commons:commons-email:1.5'
    compile 'org.codehaus.jackson:jackson-mapper-lgpl:1.9.12'
    //redis
//    compile 'org.springframework.data:spring-data-redis:1.8.13.RELEASE'
    compile 'redis.clients:jedis:2.9.0'
    compile 'org.springframework.statemachine:spring-statemachine-core:1.2.0.RELEASE'
    compile 'com.alibaba:fastjson:1.2.47'

//配置mybatis
    compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1"

    compile 'org.springframework.boot:spring-boot-gradle-plugin:1.5.14.RELEASE'
//    compile 'org.springframework:springloaded:1.5.14.RELEASE'
}

 

IDEA建议安装如下插件



 

 

 

参考:https://my.oschina.net/huangweiindex/blog/1844872

https://my.oschina.net/huangweiindex/blog/1842459

 

  • 大小: 48.7 KB
0
0
分享到:
评论

相关推荐

    gs-gradle, 使用Gradle构建Java项目.zip

    gs-gradle, 使用Gradle构建Java项目 标记项目gradle目录你将构建什么。你需要什么。设置了项目项目。安装 Gradle找出Gradle可以做什么。构建Java代码声明依赖项使用Gradle包装程序生成项目。摘要文件另请参

    Gradle构建 Java项目示例

    本示例聚焦于“Gradle构建Java项目”,它展示了如何利用Gradle这一强大的构建工具将Java项目打包成可执行的JAR文件。下面我们将深入探讨Gradle和Java的相关知识点。 Gradle是一款现代的、基于Groovy和Kotlin DSL的...

    使用Gradle构建简单Java程序

    通过这个简单的例子,我们可以看到Gradle在构建Java项目时的便利性。它允许我们轻松地管理依赖,自定义构建过程,并且与其他构建工具相比,其强大的插件系统可以扩展更多的功能。无论是小型项目还是大型企业级应用,...

    基于gradle构建的项目

    **基于Gradle构建的项目详解** Gradle是一种现代的、强大的构建自动化工具,它以其灵活性、性能优化和高度可扩展性赢得了开发者的喜爱。相比于传统的Maven,Gradle提供了更丰富的配置选项,允许开发者根据项目的...

    java源码无lib文件夹-gs-gradle:使用Gradle构建Java项目::了解如何使用Gradle构建Java项目

    项目以进行构建。 为了保持对 Gradle 的关注,现在让项目尽可能简单。 在src/main/java/hello目录中,您可以创建您想要的任何 Java 类。 为简单起见并与本指南的其余部分保持一致,Spring 建议您创建两个类: Hello...

    使用IDEA和Gradle构建Vertx项目

    ### 使用IDEA与Gradle构建Vert.x项目的详细指南 #### 一、简介 在现代软件开发过程中,选择合适的技术栈对于提升开发效率至关重要。其中,Java作为一种广泛应用的编程语言,其生态系统提供了丰富的工具和框架来...

    Gradle构建(war) web项目示例

    我们将围绕“Gradle构建(war) web项目示例”这一主题展开,讨论Gradle的基本概念,构建过程,以及如何配置和运行项目。 首先,理解Gradle的核心概念至关重要。Gradle基于Groovy语言,采用领域特定语言(DSL)进行...

    gradle 构建 Java 简单示例

    **Gradle构建Java简单示例** 在现代Java开发中,构建工具起着至关重要的作用,它们帮助我们自动化编译、测试、打包等流程。本文将详细介绍如何使用Gradle这一流行的构建工具来构建和运行Java程序。Gradle以其灵活性...

    使用Gradle 构建spring Boot工程系列项目源码(配合第五篇文章)

    本资源包"使用Gradle构建Spring Boot工程系列项目源码"是针对一系列教程的配套源代码,旨在帮助开发者深入理解如何利用Gradle有效地构建Spring Boot应用程序。通过分析这些源码,我们可以学习到以下关键知识点: 1....

    SpringBoot-Gradle-Maven-Java-Groovy

    3. **Maven**: Maven是另一种流行的Java项目管理和构建工具,它使用XML文件(pom.xml)来定义项目配置和依赖关系。Maven有一套标准的目录结构和生命周期,使得项目构建标准化。然而,对于大型复杂项目,Maven的灵活...

    Gradle资料 java构建项目

    本资料将深入探讨Gradle在构建Java项目中的核心概念和实践技巧。 **一、Gradle的基本原理** 1. **基于DSL的构建脚本**:Gradle使用Groovy方言作为其构建脚本语言,使得构建配置更加简洁易读。例如,你可以通过`...

    eclipse下gradle多模块项目构建

    总的来说,Eclipse下使用Gradle构建多模块项目,能够充分利用Gradle的灵活性和强大功能,同时借助Eclipse的IDE优势,提供良好的开发体验。这种方式让团队能够更高效地管理和维护复杂的项目结构,提升开发效率。在...

    用Gradle构建和测试项目

    标题“用Gradle构建和测试项目”指出了文章的主题是关于Gradle这一强大的构建自动化工具。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。与Maven相比,Gradle拥有更加灵活的构建脚本,它使用...

    在IntelliJ IDEA 中使用 Gradle JavaFx

    要在IntelliJ IDEA中使用Gradle构建JavaFX应用,首先需要确保你的IDE安装了Gradle插件。接下来,我们将详细讲解这个过程: 1. **创建新项目**: - 打开IntelliJ IDEA,选择“新建”项目,然后选择“Gradle”。 - ...

    基于Gradle构建的JavaWeb项目

    **基于Gradle构建的JavaWeb项目** 在现代的软件开发中,构建工具是不可或缺的一部分,它们帮助开发者自动化构建、测试和部署项目。本项目利用了Gradle作为构建工具,结合IntelliJ IDEA(IDEA)这个强大的Java集成...

    gradle 构建仓库3

    总结来说,"Gradle 构建仓库3"是一个学习Gradle构建技巧和实践的资源,通过分析其中的项目和脚本,开发者可以提升对Gradle的理解,掌握更高效的构建流程。无论是对于初学者还是经验丰富的开发者,这都是一个宝贵的...

    Python-PyGradle使用Gradle来构建Python项目

    **Python-PyGradle:使用Gradle构建Python项目** 在Python开发中,传统的构建工具有如`setuptools`和`pip`,它们主要用于管理和构建Python项目。然而,随着项目的复杂性和依赖管理的需求增加,开发者开始寻找更为...

Global site tag (gtag.js) - Google Analytics