Gradle 初体验

Stella981
• 阅读 920

gradle配置精简,使用方便 在业内最近比较流行,那么我们也开始玩玩

0.为什么要用/学 gradle?

  1. 目前很多开源项目已经使用gradle取代maven,比如 hibernate, spring-session,如果不会 gradle 的话,那么会增加学习这类项目的难度

    Gradle 初体验

  2. 有可能是下一代流行的构建工具

1. 下载

类似于maven 一样,我们都需要去下载 maven的文件,也一样是 绿色安装 ,下载地址 https://gradle.org/gradle-download/

Gradle 初体验

下载之后,解压缩,比如 我的地址是 D:\FeiLong Soft\StaticDevelopment\gradle-3.0

Gradle 初体验

2.配置环境变量

和maven一样,需要配置环境变量

  • GRADLE_HOME = D:\FeiLong Soft\StaticDevelopment\gradle-3.0
  • Path 中增加 ;%GRADLE_HOME%\bin

Gradle 初体验

3.命令行检验是否安装成功

gradle -v

结果如图:

Gradle 初体验

表示安装成功

4.装个eclipse gradle 插件

工欲善其事,必先利其器

4.1 eclipse macketplace 安装

4.1.1 buildship 插件 (gradle 官方出品)

官方地址 : https://gradle.org/press-release/eclipse-gradle/ 安装手册 : https://github.com/eclipse/buildship/blob/master/docs/user/Installation.md

Requirements:

  • Eclipse 3.6.x or newer

Eclipse 安装Gradle插件 文档传送门 http://www.cnblogs.com/simoncook/archive/2013/02/28/2937939.html

暂未找到 offline离线安装包 (喜欢离线安装的我,表示很遗憾),目前最快捷的安装方式是在 eclipse macketplace 里面搜索 buildship

Gradle 初体验

然后 install 一步一步执行, (过程根据网络情况,可能有点慢)

4.1.2 gradle IDE pack 插件

你也可以安装 gradle IDE pack 这个插件,内部集成了著名了 Spring Tool Suite 中的 STS Gradle

Gradle 初体验

并且相比较而言

Gradle 初体验

gradle IDE pack 插件可配置项更多

并且 editor 比官方自带的好看

对比

buildship 插件 gradle build script editor

Gradle 初体验

gradle IDE pack 插件 (Minimalist gradle editor)

Gradle 初体验

不过,美中不足的是,STS Gradle 将来可能不维护了,从 eclipse 提示的界面可以看出

Gradle 初体验

官方提供了两个插件的区别, 有兴趣的同学, 可以移步到 Migration guide from STS Gradle to Buildship

4.2 校验

当可以new 一个 gradle项目的时候,表明插件安装成功

Gradle 初体验

5.做个gradle小项目

5.1 java project to gradle project

你可以在一个普通的 java project 中 建个 build.gradle 文件

里面写上

apply plugin:'java'

然后 项目右键,configure --> add gradle Nature 就可以将项目变成 gradle项目了

Gradle 初体验

5.2 建议 new gradle project ,这样相关文件内容比较齐全

Gradle 初体验

6.已有的 gradle 项目,怎么导入到 eclipse中来?

我从github里面 clone了 spring-session 的源码, 怎么变成 eclipse 项目? Gradle 初体验

这是我们研究 开源的 gradle 管理的项目必经的步骤

你可以 import --> gradle project

Gradle 初体验

7.从 maven使用者的眼光来看 gradle

7.1 优点

  1. 配置依赖简单

7.2 缺点

  • editor 不友好(并且不管是 buildshipgradle IDE pack 都不支持语法提示)
  • 目前国内还没有完整的深入浅出的教程
  • 需要额外安装 eclipse 插件
  • Groovy 语言有一定的学习成本

8.和maven 相比较 简单的区别

8.1 本地仓库路径

Gradle 初体验

默认在 {user_home}\.gradle\caches

而且 路径上 会多了一层 hash码 ,不像 maven 是 junit/junit/4.12/junit-4.12-sources.jar

而 gradle 依赖路径是 junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar

Gradle 初体验

8.2 构造工作目录

在项目的根目录下面 会生成 build 目录, 不像 maven 是 target 目录

Gradle 初体验

9. 心得:

  1. 学习不要害怕
  2. 不忘初心,想想当初怀着赤字之心,在网络上搜集各种 struts,spring mvc 学习视频

10.参考

  1. gradle下载地址
  2. gradle 插件下载地址
  3. gradle eclipse 插件下载地址
  4. gradle eclipse 插件安装手册
  5. gradle eclipse 插件安装中文教程
  6. Migration guide from STS Gradle to Buildship
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
springCloud 搭建eureka服务之天坑
这里我是采用gradle来管理jar包的。1、使用idea创建一个gradle项目。2、编辑settings.gradle文件rootProject.name'jtm'//include'jtm_core'//include'jtm_sys'//include'jtm_eureka'
Souleigh ✨ Souleigh ✨
3年前
前端性能优化 - 雅虎军规
无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的
Wesley13 Wesley13
3年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这