gradle
ytuglt
这个作者很懒,什么都没留下…
展开
-
gradle系列-编译不同module中相同包名类名的java文件
问题在我们的工程使用中,如果存在相同名称的Java类名,但是也是包名不同来区分,但是如果我们依赖的库中存在两个相同的类名,并且包名也相同的两个类时,gradle编译后会是什么现象呢?让我们带着这个问题来继续下面的实验。创建工程让我们创建一个demo工程,并新建一个lib库依赖让我们现在app下创建一个Utils类,然后在utillibs模块下创建一个包名类名完全跟Utils相同的类。...原创 2020-05-07 22:00:55 · 2455 阅读 · 0 评论 -
Gradle系列14-项目发布
可以将写好的模块发布给别人去使用,也可以发布到公司的公共仓库中供需要的项目使用,这是公司多项目协作的重要环节。Gradle项目发布流程如下图所示:由Gradle将项目打包和创建metadata文件按要求发布到本地仓库或者远程仓库Gradle项目发布的实现1.添加maven-publish插件以发布core模块为例:apply plugin : 'maven-publish'...原创 2020-03-22 15:14:56 · 503 阅读 · 0 评论 -
Gradle系列13-多项目构建
在企业项目中,一个复杂的项目往往分成几个小项目来协同完成,这就需要多项目的构建。而多项目的构建需要把一个大项目进行 项目模块化 ,通过模块的互相协作完成整个功能。多项目构建模块划分和依赖关系以一个点评网站(comment)来做模块的划分和关系的搭建,模块划分如下图所示:core: 共用核心代码,包括业务层,数据访问层代码model:模型,用来封装数据admin:后台管理模块,包括视图和...原创 2020-03-22 14:36:53 · 189 阅读 · 0 评论 -
Gradle系列12-版本冲突问题
管理依赖最重要的问题就是传递性依赖过程中存在的版本冲突问题的处理。在之前手动管理依赖过程中经常遇到版本冲突问题,版本一冲突程序就无法运行,而作为版本管理工具就应该拥有解决此问题的能力。传递性依赖中的版本冲突问题示例:compile group:'org.hibernate',name:'hibernate-core',version:'3.6.3.Final'hibernate 依赖的h...原创 2020-03-22 10:43:02 · 416 阅读 · 0 评论 -
Gradle系列11-依赖管理
几乎所有基于JVM的软件项目都需要外部的类库来重用现有的功能代码,自动化依赖管理可以明确依赖的版本,能解决传递性依赖带来的版本冲突问题依赖管理关键点1.工作坐标(jar包标志)group: 指明jar包所在的分组name:指明jar包的名称version: 指明jar包的版本在dependencies中指明依赖的jar包:dependencies { testCompile ...原创 2020-03-21 21:44:57 · 319 阅读 · 0 评论 -
Gradle系列10-gradle生命周期钩子方法介绍
Gradle项目构建生命周期Gradle的生命周期分三个阶段,初始化阶段,配置阶段,执行阶段。初始化阶段通过setting.gradle判断有哪些项目需要初始化,加载所有需要初始化的项目的build.gradle文件,并为每个项目创建Project对象配置阶段执行各项目下的build.gradle脚本,完成project配置,并且构造task任务依赖关系图以便在执行阶段按照依赖关系执行T...原创 2020-03-21 20:46:34 · 799 阅读 · 0 评论 -
Gradle系列9-自定义任务介绍
定义任务的基本语法有两种定义方式,上一节中我们已经用到过:task tName1 { println '直接带闭包的定义方式'}task tName2() { println '带括号的定义方式'}再次温习下上节实验所得出的结论,以上代码只有在构建Project(gradle build)时会执行,其他方式不执行如果需要在任务调用时执行代码,需要将代码定义在do...原创 2020-03-21 18:04:32 · 220 阅读 · 0 评论 -
Gradle系列8-gradle构建脚本的介绍
构建脚本概要Gradle构建脚本中最重要的两个概念是project和Task,任何一个Gradle构建都由一个或多个project组成,每个project包括许多的构建部分,可以是一个jar包,也可以是一个web应用,也可以是多个jar包的整合,可以部署应用和搭建环境。每个project 由一个或多个task组成,每个Task表示在构建执行过程中的一个原子操作。如编译、打包,生成JavaDoc...原创 2020-03-21 17:01:44 · 1502 阅读 · 0 评论 -
Gradle系列7-gradle使用inteliJ idea创建项目
inteliJ idea 自带了gradle和groovy的插件,所以可以直接使用,如果使用eclipse需要先安装插件创建gradle java项目然后点击next,填入项目名称,包名等信息,直接点击finish即可注意: 上述步骤是使用的idea的版本为:之前的idea版本可能需要一些自定义的配置等待初始化完成,可以看到创建完成后,项目结构如下图所示:打包打包成功后,可以...原创 2020-03-20 10:02:52 · 872 阅读 · 0 评论 -
Gradle系列6-gradle下载安装
1.下载下载地址注意: 每个版本后面都跟着版本更新的时间,下载的版本的时间点要早于inteliJ idea更新的时间点,比如说 inteliJ idea 选用的是2017年更新的,而下载的gradle版本是2020年的,这样就会很容易出现版本兼容性问题inteliJ idea下载地址如图中画出部分,有对应的时间更新点...原创 2020-03-20 09:06:12 · 430 阅读 · 0 评论 -
Gradle系列5-Groovy语言基本语法
本小结内容主要以代码实现为主基本语法定义package top.zhexi.groovyprintln "===========基本语法定义=========="//变量的声明def name = "test"age = 20//调用带参数的方法时可以省略括号println(name + " " + age)println name + " " + age//断言asse...原创 2020-03-19 18:10:14 · 211 阅读 · 0 评论 -
Gradle系列4-groovy对比java的优势和特性
groovy 与Java的比较JavaBean的定义可省略分号可省略getter/setter可省略return无权限修饰符自动生成默认带有具名构造器创建对象和操作字段getter/setter方式操作字段点方式调用字段调用自动生成的getter/setter方法空值比较不抛出空指针异常下面我们在实际代码中看下 groovy语言我们创建一个Groovy Clas...原创 2020-03-19 16:36:40 · 414 阅读 · 0 评论 -
Gradle系列3-groovy环境搭建
Groovy环境安装groovy下载地址解压压缩包,进入bin目录下,执行./groovy -v会看到如下信息:hello world还是在bin目录下,使用自带控制台来测试,执行下面命令:./groovyConsole会看到groovy控制台客户端启动有两种方式输出log,如下图所示,第一种直接使用println 可以打印,也可以使用java方法System.out.p...原创 2020-03-18 21:47:47 · 182 阅读 · 0 评论 -
gradle系列2-groovy介绍
什么是GroovyGroovy 是基于Java虚拟机的一种敏捷的动态语言,它是一种成熟的OOP(面向对象)编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该语言不必编写过多的代码,同时又具有闭包和动态语言的其他特性。与java相比,Groovy的不同点或优势Groovy 完全兼容Java语法,可做脚本也可做类分号是可选的,一般不加分号,以换行作为结束类、方法、字段都是公...原创 2020-03-18 20:30:35 · 148 阅读 · 0 评论 -
gradle系列1-Gradle的简单介绍
想要学习一项技术需要先了解其历史,此技术出现是用来解决哪些问题的。项目构建历史1.石器时代依赖管理: 最开始的时候做项目如果使用第三方库,都是需要手动将该库的jar包放入lib目录下,这些jar包每创建一个新的项目都需要重新copy一份,如果jar包多了也很容易出现版本冲突问题。使用起来是非常麻烦的。测试: 每个功能都需要写测试类,在main种写测试类也是一件非常麻烦的事情。打包: 通过...原创 2020-03-18 19:49:17 · 158 阅读 · 1 评论