简介:Gradle的出现,是技术发展的必然,站在了Ant、maven等构建工具的肩膀上,使用了一种强大且具有表达性的基于Groovy的领域特定语言(DSL),
使其拥有易用且灵活的方式去实现定制逻辑、方便扩展,对什么周期有更完全的控制。学习本课程后就能理解,gradle是什么,能干什么,为什么是gradle;
并掌握实际使用gradle进行项目构建、测试、打包、发布的能力。Gradle让不可能变得可能,让可能变得简单,让简单变得优雅。
public class ProjectVersion{
private int major;
private int minor; public ProjectVersion(int major,int minor){
this.major = major;
this.minor = minor;
} public int getMajor(){
major;
} public void setMajor(int major){
this.major = major
}
} ProjectVersion v1 =new ProjectVersion(1,1)
println(v1.minor)
ProjectVersion v2
println v1==v2
PS :下面 说明了 程序和 java的 差别
PS: Gradle基础知识----高级特性
//groovy特性
//1.可选类型定义,会自动的找到自己的类型,如下定义的就是int
def version = 1 // 2.assert ,断言类型
//assert version == 2 //括号是可选的
println(version)
println version
def s1 = 'imooc' //他就是一个字符串
def s2 = "i de version is ${version}" //可以加入变量
def s3 = '''my
name
is hahah''' //可以换行
//println(s1)
//println(s2)
//println(s3) // 集合
def buildTools = ['ant','maven']
buildTools << 'gradle' //添加一个元素
assert buildTools.getClass() == ArrayList //、。集合默认是ArrayList
assert buildTools.size() == 3 //map
def buildYears = ['ant':2000,'maven':2004]
buildYears.gradle = 2009
//println buildYears.ant
//println buildYears['gradle'] //打印元素
//println (buildYears.getClass()) //map默认是linkedhashmap java.util.LinkedHashMap //闭包,简单的说就是一个代码块,跟方法类似,可以有参可以无参
def c1 = {
v ->
print v
} def c2 = {
print 'hello'
} def method1(Closure closure){
closure('praram')
} def method2(Closure closure){
closure()
} method1(c1);
method2(c2);
PS: 培训说这代码时重点,没有体会到 apply plugin:'java' version = '0.1' repositories{
mavenCentral()
} dependencies{
compile 'commons-codec:commons-codec:1.6'
}
PS:调用gradle的窗口,其他的窗口不出现也可以用改解决方案
PS: 打包 War文件
PS :源文件中的Web-Inf的东西不会变,但是生成war包会多一个class 文件,其他和资源问价是一起的