Ear 插件添加了用于组装 web 应用程序的 EAR 文件的支持。它添加了一个默认的 EAR archive task。它不需要 Java 插件,但是对于使用了 Java 插件的项目,它将禁用默认的 JAR archive 的生成。
用法
要使用 Ear 的插件,请在构建脚本中包含以下语句:
使用 Ear 插件
build.gradle
apply plugin: 'ear'  
Tasks
Ear 插件向 project 中添加了以下任务。
表 27.1. Ear 插件 - tasks
| 任务名称 | 依赖于 | 类型 | 描述 | 
ear
 | 
compile(仅在也配置了使用
 Java 插件的时候) | 
ear | 组装应用程序 EAR 文件。 | 
Ear 插件向基础插件所加入的 tasks 添加了以下的依赖。
表 27.2. Ear 插件 - 额外的 task 依赖
| 任务名称 | 依赖于 | 
| assemble | ear | 
项目布局
表 27.3. Ear 插件 - 项目布局
| 目录 | 意义 | 
src/main/application
 | 
Ear 资源,如 META-INF 目录 | 
依赖管理
Ear 插件添加了两个依赖配置:deploy和earlib。所有在 deploy 配置中的依赖项都放在 EAR 文件的根目录中,并且是不可传递的。所有在 earlib 配置的依赖都放在 EAR 文件的“lib”目录中,并且是可传递的。
公约属性
表27.4. Ear 插件 - 目录属性
| 属性名称 | 类型 | 默认值 | 描述 | 
appDirName
 | 
String
 | 
src/main/application
 | 
相对于项目目录的应用程序源目录名称。 | 
libDirName
 | 
String
 | 
into(<s2>'libs'</s2>)
 {
 | 
生成的 EAR 文件里的 lib 目录名称。 | 
deploymentDescriptor
 | 
org.gradle.plugins.ear.descriptor.DeploymentDescriptor
 | 
部署描述符,它有一个合理的名为application.xml的默认值 | 
用于生成部署描述符文件的元数据,例如ear.deploymentDescriptor中的显式配置将被忽略。 | 
这些属性由一个 EarPluginConvention 公约对象提供。
Ear
Ear task 的默认行为是将 src/main/application 的内容复制到 archive 的根目录下。如果你的 application 目录没有包含 META-INF/application.xml 部署描述符,那么将会为你生成一个。
另请参阅 Ear。
自定义
下面是一个示例,展示了最重要的自定义选项:
ear 插件的自定义
build.gradle