新一代构建工具gradle学习


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

 

 

 

 

 

posted on 2018-06-07 10:35  biyangqiang  阅读(175)  评论(0)    收藏  举报

导航