内容简介:gradle 是一个让构建自动化的工具,类似于maven,ant的功能.使用gradle可以给java项目编译,单元测试,打包,或者生成可执行的jar包等gradle依赖java环境,所以使用gradle前需要安装jdk 或jre
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.插件提供,gradle有很多现成的插件 ;
- 2.自定义:在build.gradle 文件中声明task
task 能实现哪些功能
下面是一些常用的基本功能
复制
<strong>task walk(description:'walk') { doLast { copy { into 'demo' exclude '**/.svn/**' from('README.md') } } }</strong>
删除
<strong>task walk(description:'walk') { doLast { println 'walk...' project.delete { delete 'README.md' followSymlinks = true } } }</strong>
如何执行任务
方式一:使用全局命令
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相比有哪些优势
- 因为基于 groovy,功能更强大,可以很方便的自定义任务;
- 添加依赖更简洁方便,maven 需要三行,gradle只需要一行;
- 任务的执行流程更灵活,不像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' }
参考:https://my.oschina.net/huangweiindex/blog/1844872
https://my.oschina.net/huangweiindex/blog/1842459
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《从零构建前后分离的web项目》实战 -5分钟快速构建炒鸡规范的VUE项目骨架
- golang构建项目的脚本
- flask蓝图构建小项目
- vueSSR: 从0到1构建vueSSR项目 --- 路由的构建
- Web 前端项目的构建工具
- 使用 Maven 构建 Java 项目
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Game Engine Architecture, Second Edition
Jason Gregory / A K Peters/CRC Press / 2014-8-15 / USD 69.95
A 2010 CHOICE outstanding academic title, this updated book covers the theory and practice of game engine software development. It explains practical concepts and techniques used by real game studios,......一起来看看 《Game Engine Architecture, Second Edition》 这本书的介绍吧!