Gradle 梳理 - 插件
Gradle 教程:第二部分,JAVA PROJECTS【翻译】
原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-2-java-projects/
在这部分的教学中,我们会学习如何使用Gradle去编译,构建,测试你的JAVA项目。我们将会把关注的焦点放在Gradle的内部机制上,而不是java代码,所以我将使用非常简单的java工程来帮助我们理解Gradle的概念。
在阅读本文前,请确保您已经阅读了第一部分。
Gradle:工程(Project),任务(Tasks) and 插件(Plugin)
我们先来炒个回锅肉,回想一下前面一节我们所讲的一些东西,并且在加一些本节所需要的新知识。
总的来说,gradle编译进程在开始编译的时候,总是会去寻找build.gradle文件,build.gradle是Gradle的核心文件,该文件包含了Gradle需要执行的各种任务task,和指令去指导Gradle去做的事情。任务task可以理解为编译,测试,编译jar,部署等事件,只不过在Gradle里面这些事件可以被算便打乱,而在一般的IDE里面,却只能是编译 –》构建 –-》部署 – 》发布的过程。所以Gradle因为任务的概念,使得程序的构建可以多样化,一次执行发布多个包这样非常灵活的控制。
但是我们也没有必要手动的为一次构建过程详细的指定每一个任务,因为在Gradle中有一个叫做Plugin(插件)的东西帮我们做了这些事情。通过使用插件,我们可以非常简单的指定任务(但是这里需要编写插件所提供的约定)。
那么插件是什么意思呢?这里的插件和我们使用软件时增加插件的那个意思基本一致:一个插件(Plugin)就是我们可以用来增加Gradle的能力的约定机制。按照Gradle的约定机制所定义的插件,可以让Gradle知道如何执行任务。
本节我们不打算关注如何写一个插件。我们只是使用一些非常厉害强大的Gradle 插件来帮助我们做一些事情。这些插件已经提供了一些我们可以直接使用的任务。
不着急额,来与我多碰一杯,事情就能够一帆风顺了.
JAVA plugin
让我们先从对于java程序猿来说最终要的插件开始说起:java plugin 。这个插件为项目已经定义如下的能力:
1.编译
2.测试
3.打包
逻辑上来说,这估计就是我们java项目所需要的一切功能了。其中打包通常意义就是打包一个jar文件。
所有的你需要在项目中使用的插件都需要增加在build.gradle文件中形式如下:
apply plugin:<plugin-name>
现在,我们需要使用java插件,所以我们在build.gradle中增加:
apply plugin: “java”
为了更好的理解上面这句话是什么意思,我们来举个实例。
在本地电脑上创建一个文件夹:example2 ,在example2文件家里创建build.gradle,并在文件中加上
apply plugin: “java”
如图

然后再cmd里面执行
gradle tasks
应该就会看到如下结果

可以看到其中就有java plugin为我们提供的各种任务,比如:
build(编译)
clean(清除)
assemble(集成)
这些任务甚至可能会依赖其他的任务,具体信息可以参考官方参考依赖图。
使用java plugin编译的简单的JAVA 项目
当你成功执行上面的代码之后,你再次打开example2文件,会看到下面会多生产一些文件,现在的文件夹下:

虽然java plugin已经提供了 build,clean,assemble等任务,我们要如何调用呢?当然出了CMD的方式,还可以集成在build.gradle文件中
Gradle 梳理 - 插件的更多相关文章
- [原创]使用Gradle的插件EnIDE build的时候,输出的中文总是乱码。
使用Gradle的插件EnIDE build的时候,输出的中文总是乱码.解决办法:在EnIDE的设置里面,设置JVM options GRADLE_OPTS 为:-Dfile.encoding=UTF ...
- AS 自定义 Gradle plugin 插件 案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- gradle ssh 插件
org.hidetake.ssh Gradle SSH Plugin is a Gradle plugin which provides remote command execution and fi ...
- com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题
在使用Android Studio 这个IDE时,出现com.android.tools.build:gradle:X.XX.XX:gradle.jar 插件无法下载问题 可能的原因就是网速不好或者依 ...
- Android gradle 自定义插件
Gradle 的插件有三种打包方式: 构建脚本:插件逻辑写在 build.gradle 中,适用于逻辑简单的任务,但是该方式实现的插件在该构建脚本之外是不可见的,只能用于当前脚本. buildSrc项 ...
- gradle入门(1-7)eclipse和gradle集成插件的安装和使用
一.安装gradle插件:buildship 1.安装插件 gradle默认的本地缓存库在c盘user目录下的.gradle文件夹下,安装好gradle后,可以添加环境变量GRADLE_USER_HO ...
- gradle 自定义插件 下载配置文件
1.新建Gradle项目: 2.建立src/main/groovy目录,并添加如下代码: ConfigPlugin.groovy package com.wemall.config import or ...
- java基础---->自定义gradle的插件
这里面简单的介绍一下gradle插件的编写. 自定义gradle插件 我们编写的gradle脚本一般是放在build.gradle文件中.所以首先创建一下build.gradle文件,下面的例子都是在 ...
- Gradle 梳理:安装、入门使用方法
Gradle 教程:第一部分,安装[翻译] 原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-1-installation-se ...
随机推荐
- 设计模式(C#)——06桥接模式
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 在早先,几乎每个手机的充电器接口都是不同的.每个型号的手机都有一个充电器,此时我们把充电器作为一个抽象类,抽象类中提 ...
- C#数据结构_树
树的定义是递归的,用树来定义树.因此,树(以及二叉 树)的许多算法都使用了递归. 结点(Node):表示树中的数据元素. 结点的度(Degree of Node):结点所拥有的子树的个数. 树的度(D ...
- 第五章 Spring核心概念
5.1.1 企业级应用开发 企业级应用是指那些为商业组织,大型企业而创建部署的解决方案及应用,大型企业级应用的结构复杂,涉及的外部资源众多,事务密集,数据规模大,用户数量多,有较强的安全性考虑 ...
- Java 安全之:csrf防护实战分析
上文总结了csrf攻击以及一些常用的防护方式,csrf全称Cross-site request forgery(跨站请求伪造),是一类利用信任用户已经获取的注册凭证,绕过后台用户验证,向被攻击网站发送 ...
- (五十五)c#Winform自定义控件-管道
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- NLP(二十三)使用LSTM进行语言建模以预测最优词
N元模型 预测要输入的连续词,比如 如果抽取两个连续的词汇,则称之为二元模型 准备工作 数据集使用 Alice in Wonderland 将初始数据提取N-grams import nltk imp ...
- 洛谷P1582 倒水 二进制 lowbit __builtin_popcount
P1582 倒水:https://www.luogu.org/problemnew/show/P1582 题意: 给定n瓶装有1升的水瓶,每次可以把两瓶装水量相同的水和成一瓶,问最少还要增加几瓶装有1 ...
- ui、li模拟下拉框
转载:原文地址:https://www.jianshu.com/p/e303e0298e9e 效果图: HTML: <div class="rank_top"> < ...
- List集合的排序
最近在写需求时,将某张表中的短信信息拿出,sql写完后,取出来后的结构是List<Map>,在进行到某一步时需要将这个List<Map>进行逆序排序, 当时第一想法便是写一个f ...
- 漫谈Spring Security 在Spring Boot 2.x endpoints中的应用(一)
Spring Boot 2.x极大简化了默认的安全配置,并不是说有很多安全相关的配置,现在你只需要提供一个WebSecurityConfigurerAdapter继承类这样一个简单的操作,Spring ...