java之项目构建工具Gradle
介绍
Java 作为一门世界级主流编程语言,有一款高效易用的项目管理工具是 java 开发者共同追求的心愿和目标。显示 2000 年的 Ant,后有 2004 年的 Maven 两个工具的诞生,都在 Java 市场上取得了巨大的成功。但是二者都有一定的不足和局限性。
2012 年基于 Ant 和 Maven 产生的 Gradle,弥补了 Ant 和 Maven 的不足,带来了一些更高效的特点。它使用一种基于 Groovy 的特定领域语言(DSL)来声明项目设置,抛弃了基于 XML 的各种繁琐配置。当前其支持的语言限于 Java、Groovy 和 Scala,计划未来将支持更多的语言。
介绍很强大,不过我还是习惯 maven。
准备
下载
环境变量配置
1、解压下载完成的 zip 包:

2、配置环境变量,新建“GRADLE_HOME”变量,值为 zip 包的解压目录,将其 bin 目录绝对路径配置到系统变量 path 中。
3、测试是否配置成功:
C:\Users\Administrator>gradle -v ------------------------------------------------------------ Gradle ------------------------------------------------------------ Build -- :: UTC Revision: f2fae6ba563cfb772c8bc35d31e43c59a5b620c3 Kotlin: Groovy: Ant: Apache Ant(TM) version compiled on July JVM: 1.8.0_181 (Oracle Corporation 25.181-b13) OS: Windows 10.0 amd64
使用
使用Gradle创建工程
1、使用 Idea 新建 Gradle 工程:

2、输入坐标:

3、勾选自动导入,使用本地 Gradle:

4、完成,创建目录了结构如下工程:

配置文件说明
“build.gradle”文件就类似于 Maven 中的“pom.xml”文件的作用,下面是它的说明:
plugins {
id 'java'
}
group 'zze.gradle'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
// 指定使用的仓库,项目中所需要的 jar 依赖都会默认从中央仓库下载到本地指定目录,默认下载目录为 C:\Users\用户名\.gradle\caches\modules-2\files-2.1
repositories {
// 表示使用中央仓库
mavenCentral()
}
/*
gradle 工程所有的 jar 包的坐标都在 dependencies 属性中放置
每一个 jar 包的坐标都有三个基本元素组成 group、name、version
testCompile 为 jar 包的作用域,类似 maven 中的 scope 属性,表示该 jar 包在测试的时候起作用
我们在 gradle 里面添加坐标的时候都要带上 jar 包的作用域
*/
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
// 以添加 spring 依赖为例
compile group: 'org.springframework', name: 'spring-core', version: '5.0.2.RELEASE'
}
配置本地仓库
1、新建名为“GRADLE_USER_HOME”的系统变量,变量值为本地仓库路径

2、重启 IDEA,进入设置,如图“Service directory path”修改为本地仓库路径则配置成功。

3、修改项目配置文件的 repositories 属性:
repositories {
mavenLocal()
mavenCentral()
}
// 以上配置表示先从本地仓库寻找依赖,如果没找到,则从中央仓库下载到本地仓库
使用Gradle创建Web工程
1、新建普通 Gradle 工程,在“src/main”下新建“webapp”目录:

2、在“build.gradle”配置文件下添加配置 apply plugin: 'war' ,完成,此时 Idea 就会识别“webapp”目录为 web 资源目录:

java之项目构建工具Gradle的更多相关文章
- 项目构建工具Gradle的使用入门(参考,只表明地址)
Gradle入门介绍:简介 http://blog.jobbole.com/71999/ Gradle入门介绍:第一个Java项目 http://blog.jobbole.com/72558/ Gra ...
- 项目构建工具gradle
1.安装 https://gradle.org/install 2.构建一个项目 https://guides.gradle.org/creating-new-gradle-builds/ 3.bui ...
- Java项目工程化之项目构建工具Maven
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- 【项目构建工具】 Gradle笔记1
一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XM ...
- 构建工具Gradle
1.Summary 从Android团队开始宣布放弃Eclipse转投Android Studio时,构建工具Gradle进入了Android开发者的视野.而随着热修复.插件化.编译时注解的流行, ...
- 取代 Maven?这款项目构建工具性能提升 300%
在 GitHub 上闲逛的时候,发现了一个新的项目:maven-mvnd,持续霸占 GitHub trending 榜单好几天了. maven-mvnd,可以读作 Maven Daemon,译作 Ma ...
- 项目构建工具maven的使用方法
最近在开发javaweb项目中有用到maven,以前并不是很了解,于是学习了一些相关内容,记之共享. 本篇内容在Windows环境下实施,JDK版本使用的1.7.0_79. 一.maven是什么? 简 ...
- 项目构建工具ant的使用
ant是项目构建工具,以xml文件作为构建文件,在这个xml文件(默认是build.xml,当然也可以取其它名字)里我们可以定义多个目标,用我们期待的方式去构建项目,比如说编译,测试,发邮件等等. a ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
随机推荐
- paste
echo "step 1" >> steplog.txt echo "step 1" sudo apt-get install ...
- 【转载】systemctl命令完全指南
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. Systemd是一个系统管理守护进程.工具和库的集合,用于取代System V初始进程.Systemd的功能是 ...
- python(61):str 和 bytes 转换
str 和 bytes 转换 b = b"example" # str object s = "example" # str to bytes bytes(s, ...
- ES容易忽视的集群配置
一 前言 目前生产系统由Solr转ES了,在这边就记录下在使用过程中容易忽视的配置吧,其实我也是才用,如果有什么错误的地方,多指正. 二.配置 1.ES的段合并是限速设置 默认是20MB/s ,如果是 ...
- 【iCore1S 双核心板_ARM】例程十八:SD_IAP_FPGA实验——更新升级FPGA
实验现象及操作说明: 1.烧写程序成功,绿色ARM·LED灯点亮,三色FPGA·LED灯循环点亮,烧写失败,如果挂载SD卡失败,红灯快闪,如果打开文件失败,蓝灯快闪,读取文件指针移动失败,白灯点亮,升 ...
- Spark 广播变量BroadCast
一. 广播变量 广播变量允许程序员将一个只读的变量缓存在每台机器上,而不用在任务之间传递变量.广播变量可被用于有效地给每个节点一个大输入数据集的副本.Spark还尝试使用高效地广播算法来分发变量,进而 ...
- Hadoop:hdfs文件permission denied问题解析
Cron jobs can be scheduled, but fail to write parquet file and seems due to user permission of “yarn ...
- The client and server cannot communicate, because they do not possess a common algorithm
The client and server cannot communicate, because they do not possess a common algorithm This was re ...
- Java & PHP & Javascript 通用 RSA 加密 解密 (长字符串)
系统与系统的数据交互中,有些敏感数据是不能直接明文传输的,所以在发送数据之前要进行加密,在接收到数据时进行解密处理:然而由于系统与系统之间的开发语言不同. 本次需求是生成二维码是通过java生成,由p ...
- js多个(N)个数组的的元素组合排序算法,多维数组的排列组合或多个数组之间的排列组合
现在有一批手机,其中颜色有['白色','黑色','金色','粉红色']:内存大小有['16G','32G','64G','128G'],版本有['移动','联通','电信'],要求写一个算法,实现[[ ...