天天看点

gradle插件Java,Java Gradle插件

1.源码集合[SourceSet]概念

SourceSet—源代码集合,是Java插件用来描述和管理源代码及其资源的一个抽象概念,是一个Java源代码文件和资源文件的集合。通过源集,我们可以非常方便地访问源代码目录,设置源集的属性,更改源集的Java目录或者资源目录等。

有了源集,我们就能针对不同的业务和应用对我们源代码进行分组,比如用于主要业务产品的main以及用于单元测试的test,职责分明。它们两个也是Java插件默认内置的两个标准源集。

Java插件在Project下为我们提供了一个sourceSets属性以及一个sourceSet{}闭包来访问和配置源集。sourceSets是一个SourceSetContainer,我们可以查阅它对的API看它有哪些方法和属性供我们使用。sourceSets{}闭包配置的都是SourceSet对象。

apply plugin:’java’

sourceSets{

main{

//这里对main SourceSet配置

}

}

task ex{

sourceSets.all{

println name

}

}

源集有很多属性,通过这些属性我们可以很方便的访问或者对源集进行配置。

常用源集属性:

属性名

类型

描述

name

String

它是只读的,比如main

output.classesDir

File

该源集编译后的class文件目录

output.resourcesDir

File

编译后生成的资源目录

compileClasspath

FileCollection

编译该源集时所需的classpath

java

SourceDirectorySet

该源集的Java源文件

java.srcDirs

Set

该源集的Java源文件所在目录

resources

SourceDirectorySet

该源集的资源文件

resources.srcDirs Set 该源集的资源文件所在目录

我们看一下如何使用它们。比如我想更改我的源代码的存放目录,不想放在src/main/java目录下:

sourceSets{

main{

java{

srcDir ’src/java'

}

}

}

同理我们也可以修改资源文件的存放目录:

sourceSets{

main{

resources{

srcDir ’src/resources'

}

}

}

定义新的源集只需要在sourceSets{}闭包里添加即可。