【一】Gradle 初识
1.Gradle和Maven的对比
- gradle 使用groovy语言,可以进行逻辑判断,maven基于xml,无法进行逻辑判断。
- gradle 可以在一个项目中,根据需求,生成2个不同的jar, maven则不能从一个项目中,生成两个不同的jar或者war。需要修改多份xml。
- gralde 缓存会校验本地和远程是否发生变化,没变化就不会下载。maven不会。这里看gradle的目录结构,jar包的父层就是校验码。
- 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生成的目录介绍
- gradle下的build ,类似maven中的targer
- 生成后的war,在gradle中的lib下
- 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 初识的更多相关文章
- Gradle初识
一.安装配置 gradle官方网站https://gradle.org/,下载下来是一个压缩包,解压到合适的目录即可,然后配置环境变量(GRADLE_HOME,Path),略去. 二.IDEA配置 N ...
- kotlin项目开发基础之gradle初识
在Android Studio推出之后默认的打包编译工具就变为gradle了,我想对于一名Android程序员而言没人不对它知晓,但是对于它里面的一些概念可能并不是每个人都了解,只知道这样配置就ok了 ...
- Gradle系列之初识Gradle
原文首发于微信公众号:躬行之(jzman-blog) 学习 Android 有一段时间了,开发中经常使用到 Gradle ,但是不知道 Gradle 构建项目的原理,计划花一点时间学习一下 Gradl ...
- 初识gradle, idea+springboot Demo
写在前面; 使用maven管理写过几个springboot的系统, 此篇博客纯属记录整理学习的过程. 另外, 源码分享地址在最后. Java: 1.8.0_281 tomcat: 1.8 IDE: I ...
- 添加 Gradle 依赖与 build.gradle 配置初识
添加 Gradle 我们可以到我们添加 Maven 依赖的网站 Maven Repository: Search/Browse/Explore http://mvnrepository.com/ 上查 ...
- 初识构建工具-gradle
构建工具的作用 依赖管理 测试,打包,发布 主流的构建工具 Ant:提供编译,测试,打包 Maven:在Ant的基础上提供了依赖管理和发布的功能 Gradle:在Maven的基础上使用Groovy管理 ...
- Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
- Android studio:Groovy 与 Gradle 基础【三】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255064&extra=page%3D2%26filter%3Dautho ...
- 安卓高级 Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
随机推荐
- imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRectForContentRect什么时候调用
UIButton的布局顺序细节 什么时候调用imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRect ...
- Android Battery 架构【转】
Android Battery 架构 Android电源 android中和电源相关的服务有两个他们在/frameworks/base/services/core/java/com/android/s ...
- Dev 日志 | 文章《快速体验知识图谱 OwnThink》中的技术问题
社区小伙伴反馈在实践文章<使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink>时,遇到了一些问题,Nebula Graph 将在本文对该文章中出现的问题进行 ...
- Asp.net Core3.0 跨域配置
原文:http://www.zilaohu.cn/Jie/Detail_Jie?ID=78840a04-55b8-4988-80b2-f964fd822d63 下面配置后:被拒绝的域请求后,可以进入方 ...
- winform删除dataGridView列报异常:System.IndexOutOfRangeException:“索引 7 没有值
winform界面如下: using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...
- GitLab-使用SSH的方式拉取和推送项目
场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...
- SQLserver、MySQL、ORCAL查询数据库、表、表中字段以及字段类型
一.SQLServer命令 1.查询SQLServer中的每个数据库 SELECT * from sysdatabases 2.查询SQLServer中指定数据库的所有表名 select name f ...
- css里的背景属性有哪些,如何去使用哪些属性
分类:纯色背景 背景图像 1.背景颜色 background-color : 任意合法的颜色 和 transparent 2.背景图像 background-image : url(想要加载的图 ...
- Cesium专栏-淹没分析(附源码下载)
Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以 ...
- 教程视频、项目源码、全部干货【微信小程序、React Native、Java、iOS、数据结构】
把我收藏多年的教学视频.项目源码分享给大家,大神就可以忽略了,很多东西都是基础性的,都是期初学习阶段收集的东西. 微信小程序(入门级,有web前端基础的人群): 链接: https://pan.bai ...