java plugin_Java Gradle入门指南之插件管理(类型、导入及java plugin使用)

博客逐步迁移至 极客兔兔的小站

上一篇随笔介绍了如何使用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: ''

apply plugin: 'java'

// 如果已经使用import导入了相关类

// 可使用 apply 例如 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

Pattern: build

Pattern: upload

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.写在最后

从这篇随笔开始,我们以导入java plugin开头,将依次介绍Gradle中常使用的各种插件。

感谢大家关注&留言~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值