简介: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 文件,其他和资源问价是一起的