zoukankan      html  css  js  c++  java
  • 新一代构建工具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 文件,其他和资源问价是一起的

     

     

  • 相关阅读:
    接口的经典使用方法
    多态的程序例子
    log4j常用配置过程
    log4j.properties对于web app摆放的位置
    MySQL优化实例
    No sql 相关
    yii直接执行sql
    android NDK JNI设置自己的log输出函数
    android web 网址收集
    WebKit加载网页的流程
  • 原文地址:https://www.cnblogs.com/bee-home/p/9149365.html
Copyright © 2011-2022 走看看