【一】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实现自己的图片缓存,到后来做电商项目自己的实 ...
随机推荐
- python 内置函数zip,map,三元,lambda表达式
#内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,: #当参数为空时候,返回空 #如果 zip() 函数压缩的两个列表长度不相等,那么 zip ...
- Spring Boot 项目维护全局json数据
1:概述 过去 我们在每一个方法中处理前端发过来的请求,需要自己构造请求数据,然后通过spring 提供的@ResponseBody 强制转为JSON数据吗,实际上出现了很多重复的代码,我么亦可以通过 ...
- IPFS学习-DNS链接
DNSLink 什么是DNS链接 DNS链接使用DNS TXT记录映射域名(如ipfs.io)到一个IPFS地址.因为你可以编辑自己的DNS记录,可以使他们总是指向最新版本的IPFS中的对象(如果修改 ...
- Spring Cloud系列:不重启eureka,清除down掉的服务
场景描述 做项目的时候,我的服务改了个ip,然后重新启动后,原ip的服务down掉了,但是没有清楚掉,还在上面,导致我用swagger测试的时候,访问不到真正up的程序.重启eureka又不划算,于是 ...
- windows 本地链接 VMware虚拟机 redis服务
使用本地Windows链接 VMware虚拟机 redis服务 我用的虚拟机系统是:windows Server 2012 先把Redis服务器拷贝到服务器并解压,目录如下 这里仅仅作为演示,所以就不 ...
- sql server一些快捷方式和操作技巧
1.注释(ctrl+k+c) 和 取消注释(ctrl+k+u) 2.行号显示,如图:
- 设置自动获取IP和DNS
问题阐述 设置ipv4的自动获取时遇到一个问题,ip和dns自动获取可以确认设置,但是全局时就是报错,回头去看ipv4的ip和dns也还是原来的样子 由于一直使用的都是自动获取,很少会有主动设置ip或 ...
- Windows自动执行应用程序或脚本(可以通过写bat文件定时关机等)
1. Windows每天定时执行某个应用程序 1.1 右键我的电脑选择管理,并选择任务计划程序,如下 演示 --- 1.2 创建基本任务 演示 1.3 Windows每天定时关机设置参数 演示 1. ...
- How To Convert A Partitioned Table To A Non-Partitioned Table Using DataPump In 11g (Doc ID 1276049.1)
How To Convert A Partitioned Table To A Non-Partitioned Table Using DataPump In 11g (Doc ID 1276049. ...
- linux 源设置
ubuntu 18.04.3 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.lis ...