1.Gradle和Maven的对比

  1. gradle 使用groovy语言,可以进行逻辑判断,maven基于xml,无法进行逻辑判断。
  2. gradle 可以在一个项目中,根据需求,生成2个不同的jar, maven则不能从一个项目中,生成两个不同的jar或者war。需要修改多份xml。
  3. gralde 缓存会校验本地和远程是否发生变化,没变化就不会下载。maven不会。这里看gradle的目录结构,jar包的父层就是校验码。
  4. maven对于快照jar包,如果本地缓存了。那么远端仓库更新了,本地也不一定更新,而gradle 对于是否更新,可以做自定义的配置。

2.build.gradle

 #使用 java
apply plugin: 'java'
#设置版本号
version = 0.3
#设置编译级别
sourceCompatibility = 1.6 #编译成jar
jar {
manifest {
#设置启动类
attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
}
}
#设置源码位置
sourceSets {
main {
java {
#设置源码目录
srcDirs = ['src']
}
}
} #输出的classes目录,默认是build
buildDir = 'out' #设置仓库
repositories {
mavenCentral()
}
#设置依赖
dependencies {
#依赖 groupId artifactId version
#测试时需要
testCompile group: 'junit', name: 'junit', version: '4.12'
#编译时需要 运行时不需要
providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'
#编译时 运行时都需要
compile group: 'org.springframework', name: 'spring-core', version: '5.1.5.RELEASE'
#编译时需要 运行时不需要
providedCompile 'javax.servlet:servlet-api:2.5',
'javax.servlet.jsp:jsp-api:2.1'
#运行时需要,编译时不需要
runtime 'javax.servlet:jstl:1.1.2',
'taglibs:standard:1.1.2'
}
#指定wep app 目录在哪里
webAppDirName = 'webfiles'
#指定静态资源的目录 从哪里引入 这里的配置有 要和webAppDirName相关联
war {
from 'static'
}
#构建 gradlew 任务
task wrapper(type: Wrapper) {
gradleVersion = '4.8'
distributionType = 'all' # bin和all
distributionBase //包装器下载的相对地址
distributionUrl //包装器下载的地址
}

3.gradle生成的目录介绍

  1. gradle下的build ,类似maven中的targer
  2. 生成后的war,在gradle中的lib下
  3. distributions 默认发包的目录

4.groovy基本语法介绍

println("hello groovy!")
println "hello groovy!"
println "acbc" - "c" //输出abc 字符串的单个的加减,感觉比java方便 def i = 18 //定义变量 弱类型 //集合操作
def list = ['a', 'b']//定义集合
list << 'c' //添加元素
println list.get(1)//获取元素
println list //map操作
def map = ['key1':'value1','key2':'value2']
map.key3 = 'value3'//设置值
println map.get('key1')//获取元素
println map //定义方法类型对象 闭包对象
def b1 = {
println "hello b1"
}
//调用闭包对象的方法,
def method1(Closure closure) {
closure()
}
method1(b1) //带参数的闭包方法调用
def b2 = {
v ->
println "hello ${v}";
} def method2(Closure closure) {
closure("aaa")
} method2(b2)

【一】Gradle 初识的更多相关文章

  1. Gradle初识

    一.安装配置 gradle官方网站https://gradle.org/,下载下来是一个压缩包,解压到合适的目录即可,然后配置环境变量(GRADLE_HOME,Path),略去. 二.IDEA配置 N ...

  2. kotlin项目开发基础之gradle初识

    在Android Studio推出之后默认的打包编译工具就变为gradle了,我想对于一名Android程序员而言没人不对它知晓,但是对于它里面的一些概念可能并不是每个人都了解,只知道这样配置就ok了 ...

  3. Gradle系列之初识Gradle

    原文首发于微信公众号:躬行之(jzman-blog) 学习 Android 有一段时间了,开发中经常使用到 Gradle ,但是不知道 Gradle 构建项目的原理,计划花一点时间学习一下 Gradl ...

  4. 初识gradle, idea+springboot Demo

    写在前面; 使用maven管理写过几个springboot的系统, 此篇博客纯属记录整理学习的过程. 另外, 源码分享地址在最后. Java: 1.8.0_281 tomcat: 1.8 IDE: I ...

  5. 添加 Gradle 依赖与 build.gradle 配置初识

    添加 Gradle 我们可以到我们添加 Maven 依赖的网站 Maven Repository: Search/Browse/Explore http://mvnrepository.com/ 上查 ...

  6. 初识构建工具-gradle

    构建工具的作用 依赖管理 测试,打包,发布 主流的构建工具 Ant:提供编译,测试,打包 Maven:在Ant的基础上提供了依赖管理和发布的功能 Gradle:在Maven的基础上使用Groovy管理 ...

  7. Android图片缓存之初识Glide

    前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...

  8. Android studio:Groovy 与 Gradle 基础【三】

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255064&extra=page%3D2%26filter%3Dautho ...

  9. 安卓高级 Android图片缓存之初识Glide

    前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...

随机推荐

  1. zip,rar及linux下常用的压缩格式

    日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化. 比如:如果你想通过邮箱发送一个文件夹 ...

  2. GetPrivateProfileString() 当 key 包含空格时,需要进行转义

    使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如: [section] tommy = worker 使用 C# 读取如下: 1. 先引入 G ...

  3. 【STM32-V6】STM32F429BIT6开发板开源, 丰富软件资源, 强劲硬件配置, 配套400多实例, 9套手册持续更新中2019-12-12

    淘宝购买地址:淘宝购买链接 次.当前标准库最新版本V2.3,HAL库最新版本V1.1 安富莱微信公共平台,欢迎大家关注(打造高质量公众号) 新版用户手册,重在BSP驱动包设计方法,HAL库的框架学习, ...

  4. Vue之判断对象是否为空的方法

    1. JSON.stringify(xxx)=='{}' 2. Object.keys(xxx).length==0 验证结果如下:

  5. 初探爬虫 ——《python 3 网络爬虫开发实践》读书笔记

    零.背景 之前在 node.js 下写过一些爬虫,去做自己的私人网站和工具,但一直没有稍微深入的了解,借着此次公司的新项目,体系的学习下. 本文内容主要侧重介绍爬虫的概念.玩法.策略.不同工具的列举和 ...

  6. Mass Assignment:Request Parameters Bound into Persisted Objects 质量分配:请求绑定到持久对象中的参数

  7. Spring 关于ResponseBody注解的作用

    //responseBody一般是作用在方法上的,加上该注解表示该方法的返回结果直接写到Http response Body中,常用在ajax异步请求中, //在RequestMapping中 ret ...

  8. php 将科学计算法得出的结果转换成原始数据 NumToStr

    由于php最大只支持显示 15位因的数据运算,大于15位的2数加减乘除的数据的结果,会直接用科学计数法显示, 但在现实生活中,科学计数法不利于普通人识别,所以,本函数将:科学计数法的出的结果转换成原始 ...

  9. 使用hexo、github Pages搭建博客

    1. 安装node 如果本机已经有node,为避免安装出现问题,建议先升级到最新版.参考:https://juejin.im/post/5b9739d1e51d450e9f66ee3b 2. 安装he ...

  10. iOS-----------安装fir-cli错误

    1.在终端执行  gem install fir-cli 一直提示错误:    You don't have write permissions for the /Library/Ruby/Gems/ ...