-
任务 (task)
任务里面有什么重要的方法
1. dependsOn 这个是申明依赖的
2. doFirst , doLast << 这两个小于号也是跟doLast是一样的是
一个简写方式 task也是动作列表 doFirst就是在任务列表的最前面
添加一个动作 doLast就是在动作列表的末尾添加一个动作 一个任务里面可以执行多次doFirst doLast 也就是动作列表可以包含多个动作
查看全部 -
任务 (task)
任务对应的是Task这个类 主要包括任务动作和任务依赖 任务的动作就定义了最小的工作单元就是最小的代码块 可以定义任务依赖于其它的任务 或者是执行顺序和执行条件
查看全部 -
它有几个比较重要的方法apply apply就是应用一个插件 它是project 里面的一个方法
dependencies 它是用来声明这个项目依赖于那些jar包 或者是其它的项目
repositories 它是一个仓库 也就是说从哪个仓库里面找依赖的jar包
在仓库里面根据group, name , version 唯一确定一个组件 所以我 们就可以唯一确定的依赖一个组件了
4. task也是project里面的一个方法 它是用来申明这个项目里面有什么 任务的
查看全部 -
项目 (project )
1. 项目最重要的属性和方法
属性就是 group, name, version 这三个属性就是一个组件的坐标
就是通过这三个属性可以唯一确定一个组件也就是说一个jar包这个
在后面仓库中尤其重要 如果group, name ,version不能确定唯一组件
的话 那你的依赖就是不明确的那这就是有问题的 group就是组 组是最大
的 接下来就是名称 这个组里面不能有重名的 然后就是版本号
2. 这个name跟maven里面的artifactIds是一样的 用来确定组件的名称的
3. 在IDEA新建项目的时候有的是name有的是artifactids说的都是name
查看全部 -
构建脚本
项目 (project)
查看全部 -
构建脚本概要
查看全部 -
怎么打包成war包 我们需要使用 war 这个插件 我们使用java这个
插件的时候Tasks会有那些构建任务 在build.gradle添加war这个插
件之后Tasks目录下的build目录里面会多出war这个功能
查看全部 -
打包完成之后的jar包存放在工程目录下的build目录下的libs里面
它是使用的是工程名称加上版本号命名的
2. build下的classes目录一些打包完成之后的字节码文件
3. jar包 包含main方法的类可以直接执行 如果没有main方法的
类会作为依赖给其它工程引用
查看全部 -
1. 使用gradle构建 点击IDEA右侧Gradle 我们需要关注Tasks目录下的
build目下里面的内容
2. build目录里面我们只关心jar这个功能 它的功能就是把当前的源文件
编译完成之后打包成jar包
3. build目录下的build也可以实现同样的功能 这个build就是执行build.gradle这个构建脚本 这里面使用的是java插件 所以它构建
完之后也是jar包的形式
4.
build下的class将源代码编译成class类
clean是清除之前的构建
查看全部 -
1. 这里的 .gradle 跟 .idea是程序自动生成的跟我们开发没什么关系
2. 这里的build是构建之后jar包所在的目录
3. 目前生成唯一有用的就是build.grandle跟settings.gradle
这两个构建脚本文件
查看全部 -
1. 这是一个方法 repositories
repositories {
mavenCentral()
}
这个闭包作为参数调用repositories这个方法
2. 这也是一个方法 dependencie 依赖管理的方法
dependencies {
compile 'commons-codec:commons-codec:1.6'
}
这也是一个闭包作为参数调用 dependencies方法
查看全部 -
1. 每一个gradle构建脚本都是有一个Project构建实例 就是项目实例
构建脚本里面所有的代码默认的作用域都是Project
2. apply plugin: 'java' 这句话 plugin: 'java' 这明显是命名参数
plugin 这个参数值等于 java apply 是一个方法 它的方法是Project
实例里面有一个方法叫apply 原本 apply { plugin: 'java' } 在这里省略
了括号
3. 这个 version = '0.1' 是Project实例里面的属性叫version 它的值等于0.1
查看全部 -
gradle默认带了一个任务,在help里有一个dependencies,我们执行一下这个任务,可以看到详细的依赖
出现了版本冲突,但是我们构建成功了,那就说明gradle默认帮我们处理了一些版本冲突
下面这些我觉得没有必要做,依靠gradle的默认策略就够强大了,没必要画蛇添足
那我们修改一下策略
我们让他发现了版本冲突的时候,就构建失败
所以我们把刚才的,当发现了版本冲突,就构建失败的脚本粘贴到这里来
configurations.all{
resolutionStrategy{
failOnVersionConflict()
}
}
排除依赖:
那我们现在排除hibernate对slf4j-api的依赖
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.3.Final',{
exclude group:"org.slf4j",module:"slf4j-api"
}
强制指定一个依赖版本
configurations.all{
resolutionStrategy{
failOnVersionConflict()
force 'org.slf4j:slf4j-api:1.7.22'
}
}
查看全部 -
初始化阶段主要是初始化项目,
有哪些项目需要参与到构建当中
配置阶段,主要是生成task的依赖关系跟执行图
那执行阶段,就是执行task的动作
查看全部 -
groovy高效特性
可选的类型定义-> 不用定义类型,自动(弱类型)
def version = 1
assert语句 [断言:此处应为error]
assert version == 2
括号可选
println(version)
println version
字符串
def s1 = 'fsdfsd'
def s2 = "fafad" [可以插入变量${xxxx},直接解析]
def s3= '''afafadf
asfsdfsdffsdfsdfsdfsdfdf''' [换行]
集合API
//定义一个list,默认为array list
def buildTools=["ant","maver"]
//追加
buildTools << 'dfsdfd'
//验证
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3
//定义一个map[一定要单引号吗]
def buildYears = ['ant':2000, maven:2004]
//追加元素
buildYears.gradle = 2009
//访问元素【两种形式】
println buildYears.ant
//字符串形式[一定要单引号吗]
println buildYears['gradle']
//打印类型[LinkedHashMap]
println buildYears.getClass()
闭包[代码块,多种使用形式]
//常见gradle闭包形式,当做方法参数
//箭头后面是 方法体
def c1 = {
v ->
print v
}
def c2 = {
print 'hello'
}
//两个使用闭包作为参数的方法
//不要导入java相关自动补全包
def method1(Closure closure){
closure('param')
}
//不带参数的闭包
def methon2(Closure closure){
closure()
}
//多了个分号????
method1(c1);
method2(c2);
查看全部
举报