【一】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实现自己的图片缓存,到后来做电商项目自己的实 ...
随机推荐
- 软件开发工具(第13章: Eclipse插件的使用与开发)
一.插件简介 插件的定义(了解) 插件是一种遵循其所依附的软件的接口规范所编写出来的程序. 插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定 功能. 插件的构成(重点.记忆) 每个插件都由 ...
- 使用Git出现以下错误"Git@github.com: Permission denied (publickey). Could not read from remote repository."解决方案
转载于:https://blog.csdn.net/dotphoenix/article/details/100130424 git@github.com: Permission denied (pu ...
- Linux文本处理三剑客之sed
推荐新手阅读[酷壳]或[骏马金龙]开篇的教程作为入门.骏马兄后面的文章以及官方英文文档较难. [酷壳]:https://coolshell.cn/articles/9104.html [骏马金龙-博客 ...
- windows客户端访问FTP服务器
客户端访问FTP服务器步骤: 首先双击此电脑,在弹出的窗口输入如下信息 刚安装完的FTP服务器只有一个pub目录,因为这里是使用匿名用户登录的 FTP服务器默认的匿名目录在/var/ftp/pub/下 ...
- docker网络配置
Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需 ...
- 相机位姿求解——P3P问题
1.位姿求解是计算机视觉中经常遇到的,Perspective-n-Points, PnP(P3P)提供了一种解决方案,它是一种由3D-2D的位姿求解方式,即需要已知匹配的3D点和图像2D点.目前遇到的 ...
- 阿里巴巴供应链平台事业部2020届秋招-Java工程师
阿里巴巴供应链平台事业部,2020届秋季校园招聘开始啦!Java开发工程师虚位以待,机会难得,占坑抓紧. 入职就发师兄,一对一师兄辅导. 在这里,你将有机会接触阿里集团的所有数据库.中间件等基础设施. ...
- Nacos 安装(带视频)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- strcat函数(字符串连接函数)
srtcat函数原型在c中的<string.h>中. 语法: strcat(字符串a,字符串b): #include <stdio.h> #include <string ...
- 简单“三步”让你的网站支持https!
关于Let's Encrypt Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起 ...