为了账号安全,请及时绑定邮箱和手机立即绑定

新一代构建工具gradle

skyding JAVA开发工程师
难度中级
时长 1小时58分
学习人数
综合评分9.60
98人评价 查看评价
9.7 内容实用
9.5 简洁易懂
9.6 逻辑清晰
  • 任务 (task)

          任务里面有什么重要的方法

        1.  dependsOn   这个是申明依赖的

        2. doFirst , doLast <<  这两个小于号也是跟doLast是一样的是

           一个简写方式  task也是动作列表  doFirst就是在任务列表的最前面

      添加一个动作  doLast就是在动作列表的末尾添加一个动作  一个任务里面可以执行多次doFirst  doLast  也就是动作列表可以包含多个动作

    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

    1.   任务 (task)

                   任务对应的是Task这个类  主要包括任务动作和任务依赖  任务的动作就定义了最小的工作单元就是最小的代码块  可以定义任务依赖于其它的任务  或者是执行顺序和执行条件

    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

    1.   它有几个比较重要的方法apply   apply就是应用一个插件   它是project        里面的一个方法

    2. dependencies  它是用来声明这个项目依赖于那些jar包  或者是其它的项目

    3. repositories  它是一个仓库 也就是说从哪个仓库里面找依赖的jar包

           在仓库里面根据group, name , version 唯一确定一个组件  所以我           们就可以唯一确定的依赖一个组件了

       4.  task也是project里面的一个方法  它是用来申明这个项目里面有什么          任务的

    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

  • 项目 (project )

         1. 项目最重要的属性和方法

    属性就是 group, name, version  这三个属性就是一个组件的坐标

    就是通过这三个属性可以唯一确定一个组件也就是说一个jar包这个

    在后面仓库中尤其重要   如果group, name ,version不能确定唯一组件

    的话 那你的依赖就是不明确的那这就是有问题的  group就是组  组是最大

    的  接下来就是名称  这个组里面不能有重名的  然后就是版本号

    2.  这个name跟maven里面的artifactIds是一样的 用来确定组件的名称的

    3.   在IDEA新建项目的时候有的是name有的是artifactids说的都是name

        




    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

  • 构建脚本

           项目 (project)

    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

  • 构建脚本概要

    查看全部
    0 采集 收起 来源:构建脚本介绍

    2019-06-22

    1.   怎么打包成war包  我们需要使用 war 这个插件   我们使用java这个

              插件的时候Tasks会有那些构建任务  在build.gradle添加war这个插

            件之后Tasks目录下的build目录里面会多出war这个功能

    查看全部
    0 采集 收起 来源:TODO-WEB版

    2019-06-22

    1. 打包完成之后的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'

    }

    }


    查看全部
    0 采集 收起 来源:解决版本冲突

    2019-06-14

  • 初始化阶段主要是初始化项目,

    有哪些项目需要参与到构建当中

    配置阶段,主要是生成task的依赖关系跟执行图

    那执行阶段,就是执行task的动作


    查看全部
    0 采集 收起 来源:构建生命周期

    2019-06-14

  • groovy高效特性

    1. 可选的类型定义-> 不用定义类型,自动(弱类型)

      def version = 1

    2. assert语句 [断言:此处应为error]

      assert version == 2

    3. 括号可选

      println(version)

      println version

    4. 字符串

      def s1 = 'fsdfsd'

      def s2 = "fafad"   [可以插入变量${xxxx},直接解析]

      def s3= '''afafadf

      asfsdfsdffsdfsdfsdfsdfdf''' [换行]

    5. 集合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()

    6. 闭包[代码块,多种使用形式]

      //常见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);



    查看全部

举报

0/150
提交
取消
课程须知
1、 编程零基础可听 2、 写过一段时间代码再听更好 3、 有与他人协作开发意向者最佳
老师告诉你能学到什么?
了解gradle的脚本语法、配置要素、依赖管理等基本原理,掌握使用gradle命令行或者集成IDE之后,进行构建、单元测试、打成jar包或者war包并发布到maven仓库等单项目或者多项目的自动化过程。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!