
跟我学Gradle
文章平均质量分 57
PKAQ
http://pkaq.org
展开
-
2.[Gradle中文教程系列]跟我学Gradle-下载和安装Gradle
下载和安装.0.先决条件* 翻墙* 翻墙* 翻墙 1.5以上版本的JDK,Gradle会采用你环境变量中设置的JDK目录(可以用java -version进行检查),你需要配置环境变量 JAVA_HOME 并将它指向你的JDK安装目录. p.s:Gradle自带了Groovy库,所以无需事先安装Grvoovy,所有已经安装的Grvooy也将被Gradle忽略..1.下载 从Gralde官原创 2016-03-15 18:56:52 · 903 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.0:依赖-关于依赖管理
什么是依赖管理 通常而言,依赖管理包括两部分,对依赖的管理以及发布物的管理;依赖是指构建项目所需的构件(jar包等)。例如,对于一个应用了spring普通的java web项目而言,spring相关jar包即项目所需的依赖。发布物,则是指项目产出的需要上传的项目产物。传统依赖管理的痛点 毋庸置疑,几乎绝大多数项目都会或多或少的依赖于第三方库,尤其像log4j、dom4j、common-lon原创 2016-12-26 11:34:31 · 2248 阅读 · 1 评论 -
[Gradle中文教程系列]-跟我学Gradle-8.3-多模块项目- settings文件
我们了解到一个典型的多模块项目需要有一个根模块项目以及模块描述文件(默认为settings.gradle),下面我们将通过一个 多项目示例 来对多模块项目的结构以及脚本进行更深入的了解。如果要让 Gradle 支持多 构建,只需为你的项目确定一个 根模块项目 并且在根模块项目下添加 settings.gradle 文件用以描述模块(项目)关系include 'base','main' 这里将模块原创 2016-12-12 16:37:13 · 3348 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-7.3:打包-为Web工程打不同环境包
通过一种奇葩的快捷方式给web工程打不同环境包 通常而言,开发环境和生产环境参数有着较大的差异,在上古时代,猿们通过打包时或者开发时手工修改配置文件的方式来区分生产环境和开发环境。显然这种方式是比较低效且lowbee的。那么,我们可以将不同环境的配置文件各建一份,通过Gradle来进行不同环境的打包。比如如下几种方式根据不同环境的参数建立不同的环境文件,打包时只打包相应的环境文件把环境参数配置原创 2017-01-04 15:47:50 · 1598 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.1:依赖的坐标与范围
依赖的坐标 仓库中构件(jar包)的坐标是由groupId、artifactId、version组成的字符串构成的,在仓库中通过以GAV组成的坐标来定位所需的jar包.在gradle中可以通过以下方式来声明依赖: testCompile group: 'junit', name: 'junit', version: '4.0' 这里前面的testCompile是声明依赖的的方位,如原创 2016-12-26 11:35:38 · 3606 阅读 · 1 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.2:依赖的分类
依赖的分类 类型 描述 外部依赖 依赖存放于外部仓库中,如jcenter ,mavenCentral等仓库提供的依赖 项目依赖 依赖于其它项目(模块)的依赖 文件依赖 依赖存放在本地文件系统中,基于本地文件系统获取依赖 内置依赖 跟随Gradle发行包或者基于Gradle API的一些依赖,通常在插件开发时使用 子模块依赖 还没搞清楚是什么鬼外部依赖可原创 2016-12-27 16:08:21 · 890 阅读 · 1 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
上一篇:依赖的分类什么是传递依赖 在Maven仓库中,构件通过POM(一种XML文件)来描述相关信息以及传递性依赖。Gradle 可以通过分析该文件获取获取所以依赖以及依赖的依赖和依赖的依赖的依赖,为了更加直观的表述,可以通过下面的输出结果了解。+--- org.springframework:spring-web:4.3.4.RELEASE| | +--- org.springfr原创 2016-12-28 11:02:35 · 28192 阅读 · 3 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.4:依赖-依赖的更新与缓存
依赖版本的管理(传递性/排除/动态版本/强制/)更新依赖 在执行build、compile等任务时会解析项目配置的依赖并按照配置的仓库去搜寻下载这些依赖。默认情况下,Gradle会依照Gradle缓存->你配置的仓库的顺序依次搜寻这些依赖,并且一旦找到就会停止搜索。如果想要忽略本地缓存每次都进行远程检索可以通过在执行命令时添加--refresh-dependencies参数来强制刷新依赖。原创 2016-12-28 11:46:58 · 1799 阅读 · 1 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.5:依赖-构件的上传与发布
借助maven-publish插件可以轻松地将jar包发布到仓库中。这个过程没啥幺蛾子直接上代码吧。了解更多配置可以查看 Maven plugin插件章节apply plugin: 'maven-publish'apply plugin: 'java'// 打包源文件task sourceJar(type: Jar) { from sourceSets.main.allSourc原创 2016-12-28 15:19:32 · 562 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.6:依赖-依赖报告和冲突的解决
本小节示例脚本apply plugin: "java"ext { bootVersion = "1.4.2.RELEASE" tomcat_embed = "8.5.4"}repositories { maven { url"https://repo.spring.io/libs-release" } jcenter()}dependencies { co原创 2016-12-28 17:33:41 · 1192 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-附录-2.Gradle的日志级别
Gradle在执行时提供了6个常用日志级别,并且提供了友好的参数可以让你随心所欲的控制控制台输出。日志级别 日志级别 级别描述 ERROR 错误消息 QUIET 重要的信息消息 WARNING 警告消息 LIFECYCLE 进度信息消息 INFO 信息性消息 DEBUG 调试消息日志参数 命令参数 级别描述 没有日志选项 LIFE原创 2017-01-10 13:18:35 · 779 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter
这是一个使用gradle上传到Jcenter的一个示例 具体步骤 这里写的已经非常明白了 并且提供了多个示例 https://github.com/bintray/gradle-bintray-plugin本文源码上传到jcenter至少需要四个文件,除了打包的jar之外, 还需要pom和javadoc,source,否则是通不过jcenter审核的。下面是博客引文 有时你或许会想发布自己原创 2017-01-16 09:25:31 · 744 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-15:团队协作 - 使用Gradle Wrapper来统一构建版本
概述Gradle Wrapper(Gradle包装器) 作用 - 统一团队gradle版本,解决因团队gradle版本混乱导致构建失败等问题 - 自动下载安装gradle,使gradle萌新可以0配置快速进入构建添加Gradle wrapper支持可以通过执行gradle wrapper任务来添加wrapper支持,wrapper任务时内置任务,无需额外配置。通过内置任务来添加wrap原创 2017-05-13 10:47:16 · 1069 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-8.1-多模块项目 - 概述
随着项目规模的扩展和功能的增加,任何一个简单的项目基本都会进行模块的拆分独立,然后通过项目之间的依赖进行重新整合。 项目拆分带来的好处也显而易见。拆分可以是项目结构更加清晰,职责划分更加明确,相关模块的负责人只需专注于自己负责的子模块而无需对整个项目进行一次构建。 如果不采用构建工具或许最原始的方式无非于将一些相对独立的和公共的模块代码拆分成独立项目,通过手工打jar包替换的方式进行多项目之原创 2016-12-12 16:36:13 · 522 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-8.2-多模块项目- 项目结构
上一节多模块项目 - 概述 在进行介绍之前,这里有必要先解释一下项目(project)和模块(module)的概念。Gradle中默认是不存在模块概念的,这里指的多模块项目构建对应到Gradle中即是多项目构建,为了便于理解,所以本文中一律按多模块进行描述。 关于多项目和多模块的分歧无法溯源,或许是由于eclipse和idea不同定义而起吧。在eclipse中不存在模块概念,走的是worksp原创 2016-12-12 16:36:50 · 1441 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle- 8.6 - 多模块项目- 水平布局和分层布局项目
如果你阅读了前面的内容,那么你已经掌握了分层布局。没错,Gradle 默认即是采用的分层布局。只需要正确的配置 settings 文件即可。 某些情况下,若是出于一些不可描述的原因需要进行水平布局,那么 Gradle 也提供了良好的支持。如果你之前曾经翻阅过 Settings 接口的手册,那么或许你已经发现Settintgs接口提供了一个includeFlat方法,借助此方法即可实现水平布局的原创 2016-12-12 16:38:30 · 1025 阅读 · 2 评论 -
1.[Gradle中文教程系列]跟我学Gradle-Gradle的概述、简介和优势
概述 Gradle是新一代构建工具,从0.x版本一路走来虽然国内可寻的资料多了一些,但都是比较碎片化的知识。官方的Userguide虽然是业内良心之作,但无奈太长,且版本变化较快,又鉴于很多同学一看到英文内心便已认定无法读懂,遂打算利用业余时间攒此本《跟我学gradle》,希望通过此书可以降低学习曲线能让希望使用Gradle的同学更轻易地入门。 简介 Gradle是继Maven之后的新一代构建工原创 2016-03-15 15:38:21 · 780 阅读 · 0 评论 -
0.[Gradle中文教程系列]跟我学Gradle-目录
《跟我学Gradle》准备利用业余时间编写一个Gradle系列,先把目录列一下~关于本书Gradle介绍 Gradle是什么优势何在约束优于配置下载和安装 先决条件安装包结构环境变量配置升级Gradle快速入门 项目结构脚本结构第一个脚本打包和运行仓库 仓库的概念使用公共仓库如何使用nexus私服使用本地缓存或目录依赖 基本依赖管理什么是依赖坐标依赖传原创 2016-03-10 17:30:35 · 1010 阅读 · 0 评论 -
3.跟我学Gradle-快速入门,了解创建和指定Gradle项目的标准目录结构
本文基于gradle2.12版本标准结构Gradle遵循COC(convention over configuration约定优于配置)的理念,默认情况下提供了与maven相同的项目结构配置 大体结构如下 - project root - src/main/java(测试) - src/main/resources - src/test/java(测试源码目录)原创 2016-04-19 12:38:10 · 3330 阅读 · 0 评论 -
3.2跟我学Gradle-快速入门,Gradle的脚本结构
一个简单的Gralde脚本,或许包含如下内容,其中标明可选的都是可以删掉的部分 - 插件引入:声明你所需的插件 - 属性定义(可选):定义扩展属性 - 局部变量(可选):定义局部变量 - 属性修改(可选):指定project自带属性 - 仓库定义:指明要从哪个仓库下载jar包 - 依赖声明:声明项目中需要哪些依赖 - 自定义任务(可选):自定义一些任务//应用插件,这里引入了Gradl原创 2016-04-20 10:01:23 · 472 阅读 · 0 评论 -
4跟我学Gradle-仓库详解
什么是仓库 顾名思义,仓库就是一个进行集中存储东西的地方,放到这里可以理解为集中管理构件(jar包)的地方.仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等.为什么要用仓库在采用传统方式管理的项目中,通常会把第三方依赖jar包放到./lib或者./web-inf/lib下,这种情况会产生如下几个弊端:侵占硬盘空间:虽然现在硬盘的容量已经越来越大,但采用传统原创 2016-05-16 10:47:24 · 3922 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-附录:gradle命令行详解
Gradle 命令行命令详解,根据Gradle.2.13版本的help命令编写而来. 参数 描述 -?, -h, –help 显示帮助 - - ….. -a, –no-rebuild 忽略”项目依赖”,假设模块web依赖于base,采用此参数后将不再构建base模块,即使base模块代码存在更新也不会(注意:如果base模块是clean的,那么加此参数构建不会将base依赖构建原创 2016-06-06 16:50:48 · 1802 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-14.1:Gradle IDEA集成插件的使用
IDEA中Gradle插件的使用Idea本身已经集成了Gradle插件,你可以在File | Settings | Build, Execution, Deployment | Build Tools | Gradle 下找到 相关配置配置 本文基于IDEA 2016.2 配置项 说明 Linked Gradle projects 所有Gradle添加了Gradle支持的项目列表原创 2016-08-17 13:04:13 · 2465 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-4.1:Nexus私服的安装与配置
Nexus的安装与配置仅以此文,献给陷入懒癌晚期的小伙伴们.本文基于nexus 3.xx.0. What?Why?When?Who?Where? Sonatype Nexus是一款maven仓库管理软件,有了它,你可以方便的搭建属于自己的maven私服。而通过搭建私服,可以带来几个显而易见的好处。 - 节省外网带宽:以一个30人的项目小队为例,如果没有私服,所有的人在更新依赖时,都将从中央仓原创 2016-08-15 10:14:05 · 4409 阅读 · 1 评论 -
[Gradle中文教程系列]-跟我学Gradle-14.2:eclipse中Gradle插件的使用
Eclipse中Gradle插件的使用安装 无论你使用的是 eclipse/sts/myeclipse 还是任何eclipse的变种,可以通过点击Help->eclipse marketplace去插件市场搜索buildship然后点击install进行安装,此过程完全傻瓜操作,不赘述. 如果你是一名传统程序猿习惯通过site安装,可以参考下面的表格通过点击Help->Install New S原创 2016-11-18 11:19:26 · 4293 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-8.7.多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目
多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目标题党!!!!烹制原理Servlet 3.1 规范里 jar包中META-INF/resources/下的文件会被视为根目录文件进行正常访问 , 这也就意味着我们可以将某些 静态页面/图片/样式/js 等打到jar包里当做依赖jar包引用 , 像webjars基本就是这么搞的.当然 如果你在搞前后端分离、原创 2016-12-02 15:22:12 · 2818 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle-8.4-多模块项目- build文件
在根项目下,除了 settings.gradle 文件之外,通常还需要提供一个 build.gradle 文件,该文件用以定义子模块行为以及描述项目的一些公共插件、属性、依赖等。 下面的示例中,定义了所有模块共享的group、版本号,所有子模块共享的插件,以及针对main项目的定制化配置。// 所有模块都采用统一的版本号以及groupNameallprojects { group = '原创 2016-12-12 16:37:34 · 744 阅读 · 0 评论 -
[Gradle中文教程系列]-跟我学Gradle- 8.5 - 多模块项目- 分离配置
当项目足够复杂的时候,采用集中化配置显然不是一个好计谋,尤其是如果你有几十个模块的的时候,当你打开一个几百行的脚本无疑会感到一种不由自主的恶心在背后拍拍你的肩膀说:”兄弟 吐吧”…. 此时,将不同项目的定制行为分离到各自的脚本里无疑会显著的减轻你的饱腹感。这不仅可以是项目结构看起来更加清晰,脚本更加易读,分离化的配置还可以让你更好的关注子模块的特定行为。 要分离模块配置只需要很简单的两步原创 2016-12-12 16:37:59 · 856 阅读 · 0 评论 -
在Gradle中使用阿里巴巴Java开发规约插件进行代码检查
概述 最近阿里发布了《阿里巴巴Java开发手册》,一时间无数阿里拥趸如获武穆遗书,就在近日阿里又顺便发布了<阿里巴巴java开发规约插件>,可以轻松的在码字阶段获得相应的编码提示,那么,在Gradle中如何应用阿里开发规约进行代码检查呢.且看下文. 阿里的开发规约插件是基于PMD进行的代码检测,所以在Gradle应用阿里开发规约检查只需要使用gradle提供的pmd插件即可达成目的. 目前原创 2017-10-18 17:20:38 · 2462 阅读 · 0 评论