Java Gradle入门指南之插件管理(类型、导入及java plugin使用)
2016-03-18 00:29
831 查看
上一篇随笔介绍了如何使用Gradle内建任务,介绍了自定义Gradle任务类的三种方法(build文件,buildSrc文件夹、新建groovy项目),一个任务是一个原子操作,即不可分割的。项目开发过程中,我们往往需要按照一定顺序执行多个任务以完成某个特定功能(例如build、clean),多个任务及其属性、配置的集合称之为一个
plugin
Gradle提供了2种类型的插件,
脚本插件(script plugin)和
二进制插件(binary plugin)。Gradle拥有十分丰富的插件,仅掌握其中几个就能够极大地提升工作效率,这篇文章将介绍Gradle的2种插件的导入方法及项目开发中极为常用的
java plugin
如有错误,请不吝指出,非常感谢;如果本文对你有帮助,右下角点个推荐吧~
1.导入插件
1.1 脚本插件(script plugin)
一个脚本插件可以视作一个Gradle文件,可以在其他文件中导入,相当于多个类的模块化,下面是个非常简单的例子// ~/Test/helloplugin.gradle task helloTask << { println 'I Am Called !' }
// ~/Test/build.gradle apply from: 'helloplugin.gradle' task mainTask << { println 'I am ' + name }
执行结果如下 C:\Users\gzd\Desktop\Test>gradle hT mT :helloTask I Am Called ! :mainTask I am mainTask
1.2 二进制插件(binary plugin)
脚本如果如果经过编译,那么就可以称之为二进制插件,例如上一篇博客新建groovy项目编译形成的 HelloTask-1.0.jar,二进制插件可以理解为提供接口的类的集合,二进制插件可复用性更强// 导入 java插件 // apply plugin: '<pluginid>' apply plugin: 'java' // 如果已经使用import导入了相关类 // 可使用 apply <Class> 例如 apply HelloTask
java是Gradle的核心插件,是内置的,内置插件不需要配置依赖路径
Gradle 内置的插件包含:
(1) 编译、测试插件(Java、Groovy、Scala、War 等)
(2) 代码分析插件(Checkstyle、FindBugs、Sonar 等)
(3) IDE插件(Eclipse、IDEA等)
如果引入第三方插件,那么就需要配置依赖路径了,例子可参考Gradle之定制任务最后一部分
buildscript { repositories { ... } dependencies { ... } }
2. Java plugin 使用方法
Java plugin是Gradle核心API的一部分,Java plugin插件提供了一系列的任务支持构建、编译、测试Java项目。2.1 导入java plugin
// ~/Test/build.gradle // 导入java插件 // jcenter()是一个插件仓库,导入的插件将会在仓库中寻找并下载 buildscript { repositories { jcenter() } } apply plugin: 'java'
在Test/下(即build.gradle)所在的目录执行 gradle tasks --all 将会列出java插件支持的所有任务 例如我们所熟悉的 gradle build、gradle clean C:\Users\gzd\Desktop\Test>gradle tasks --all :tasks ... Build tasks ----------- build - Assembles and tests this project. clean - Deletes the build directory. Rules ----- Pattern: clean<TaskName> Pattern: build<ConfigurationName> Pattern: upload<ConfigurationName>
2.2 查看默认配置
执行gradle dJPC,将打印java插件的默认配置 C:\Users\gzd\Desktop\Test>gradle dJPC :dislpayJavaPluginConvention Lib Dir: C:\Users\gzd\Desktop\Test\build\libs Lib Dir Name:libs Sources Code Dir[source set 'main', source set 'test'] Production Code Dir[C:\Users\gzd\Desktop\Test\src\main\java]
这个任务能够让我们知道java插件的默认配置,更完整的信息可以查看Gradle官方文档
例如Production Code Dir,我们只需要将代码写在 src/main/java目录下,执行gradle build,编译时Gradle将自动寻找该目录下的java代码进行编译,这和Eclipse自动生成的目录十分地相似,在这里我们只是手动做了IDE做的事情
2.3 覆盖默认配置
// 我们可以在build.gradle中覆盖其默认配置 libsDir = 'buildFolder' libsDirName = 'libfolder' sourceSets { main { java { srcDir 'src/maincode/java' } resources { srcDir 'src/maincode/resources' } } test { // 省略测试配置... } }
上述代码就将java插件默认的路径更改了,有时我们复用别人的项目时,目录结构不一致,此时通过更改java插件默认配置能够节省大量的时间。
关于java plugin 更多完整的属性和用法可以查看官方文档
3.写在最后
关于Gradle Task 基础可以参考Java Gradle之简介、安装与任务管理与Java Gradle之内建与定制任务类从这篇随笔开始,我们以导入java plugin开头,将依次介绍Gradle中常使用的各种插件。
感谢大家关注&留言~
相关文章推荐
- Java SE作业:判断一个字符串是否是视频文件
- 对spring JdbcTemplate 代码的一些理解
- java 时间戳与日期字符串相互转换
- JDK将新增局部变量类型推断功能
- JAVA String.format详解
- Java利用System.getProperty("file.encoding")获取编码分析
- Myeclipse
- Java中访问权限修饰符protected, default
- Spring MVC中使用国际化和主题
- java字典中使用三目运算设定key初值
- java使用map封装返回多值
- 使用java对各档人数进行汇总
- 安装多个版本的jdk
- Java 日志管理最佳实践
- Java注意事项(基础细节)
- java数组算法的相关实现
- java栈算法实现单词逆序输出
- FastDFS的安装,配置与使用(java)
- Java爬取CSDN博客
- SpringMVC注解总结