Gradle 1.12用户指南翻译——第二十七章. Ear 插件
其他章节的翻译请参见:
http://blog.csdn.net/column/details/gradle-translation.html
翻译项目请关注Github上的地址:
https://github.com/msdx/gradledoc/tree/1.12。
直接浏览双语版的文档请访问:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.2版本兼容2.1以上(5.0没试过)的Android系统,地址如下:
http://www.wandoujia.com/apps/com.githang.gradledoc
翻译不易,转载请注明本文在CSDN博客上的出处:
http://blog.csdn.net/maosidiaoxian/article/details/45530583
关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如有发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。
第二十七章. Ear 插件
Ear 插件添加了用于组装 web 应用程序的 EAR 文件的支持。它添加了一个默认的EAR archive task。它不需要 Java 插件,但是对于使用了 Java 插件的项目,它将禁用默认的 JAR archive 的生成。
27.1. 用法
要使用 Ear 的插件,请在构建脚本中包含以下语句:
示例 27.1. 使用 Ear 插件
build.gradle
apply plugin: 'ear'
27.2. Tasks
Ear 插件向project 中添加了以下任务。
表 27.1. Ear 插件 - tasks
| 任务名称 | 依赖于 | 类型 | 描述 |
ear |
compile(仅在也配置了使用Java 插件的时候) |
ear |
组装应用程序 EAR 文件。 |
Ear 插件向基础插件所加入的 tasks 添加了以下的依赖。
表 27.2. Ear 插件 - 额外的task 依赖
| 任务名称 | 依赖于 |
| assemble | ear |
27.3. 项目布局
表 27.3. Ear 插件 - 项目布局
| 目录 | 意义 |
src/main/application |
Ear 资源,如 META-INF 目录 |
27.4. 依赖管理
Ear 插件添加了两个依赖配置:deploy和earlib。所有在deploy配置中的依赖项都放在
EAR 文件的根目录中,并且是不可传递的。所有在 earlib 配置的依赖都放在
EAR 文件的“lib”目录中,并且是 可 传递的。
27.5. 公约属性
表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的默认值 |
用于生成部署描述符文件的元数据,例如application.xml。如果此文件已存在于appDirName/META-INF,那么会使用这个已存在的文件的内容,而ear.deploymentDescriptor中的显式配置将被忽略。 |
这些属性由一个EarPluginConvention 公约对象提供。
27.6. Ear
Ear task 的默认行为是将src/main/application的内容复制到archive
的根目录下。如果你的application目录没有包含META-INF/application.xml部署描述符,那么将会为你生成一个。
另请参阅 Ear。
27.7.
自定义
下面是一个示例,展示了最重要的自定义选项:
示例 26.2. ear 插件的自定义
build.gradle
apply plugin: 'ear'
apply plugin: 'java'
repositories { mavenCentral() }
dependencies {
//following dependencies will become the ear modules and placed in the ear root
deploy project(':war')
//following dependencies will become ear libs and placed in a dir configured via libDirName property
earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
ear {
appDirName 'src/main/app' // use application metadata found in this folder
libDirName 'APP-INF/lib' // put dependency libraries into APP-INF/lib inside the generated EAR;
// also modify the generated deployment descriptor accordingly
deploymentDescriptor { // custom entries for application.xml:
// fileName = "application.xml" // same as the default value
// version = "6" // same as the default value
applicationName = "customear"
initializeInOrder = true
displayName = "Custom Ear" // defaults to project.name
description = "My customized EAR for the Gradle documentation" // defaults to project.description
// libraryDirectory = "APP-INF/lib" // not needed, because setting libDirName above did this for us
// module("my.jar", "java") // wouldn't deploy since my.jar isn't a deploy dependency
// webModule("my.war", "/") // wouldn't deploy since my.war isn't a deploy dependency
securityRole "admin"
securityRole "superadmin"
withXml { provider -> // add a custom node to the XML
provider.asNode().appendNode("data-source", "my/data/source")
}
}
}
你还可以使用Ear任务提供的自定义选项,如from和metaInf。
27.8.
使用自定义的描述符文件
假设你已经有了application.xml ,并且想要使用它而不是去配置ear.deploymentDescriptor代码段。去把 META-INF/application.xml 放在你的源文件夹里的正确的位置(请查看 appDirName 属性)。这个已存在的文件的内容将会被使用,而 ear.deploymentDescriptor 里的显示配置则会被忽略。
Gradle 1.12用户指南翻译——第二十七章. Ear 插件的更多相关文章
- Gradle 1.12用户指南翻译——第二十三章. Java 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十一章. Gradle 插件
昨天晚上只顾着和女朋友看<匆匆那年>电视剧的最后几集,所以说好的Android文档<Gradle 插件用户指南>第五章自然也没翻译多少.所以今天也发不了第五章的翻译了,就发几个 ...
- Gradle 1.12用户指南翻译——第二十八章. Jetty 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十二章. 标准的 Gradle 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十九章. Checkstyle 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十六章. War 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十五章. Scala 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第二十四章. Groovy 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
随机推荐
- oracle手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告 ...
- Android新特性Instant Run详解
关于 Instant Run Android Studio 2.0 中引入的 Instant Run 是 Run 和 Debug 命令的行为,可以大幅缩短应用更新的时间.尽管首次构建可能需要花费较长的 ...
- Android Lollipop 5.0 经典新特性回顾
*Tamic 专注移动开发! 更多文章请关注 http://blog.csdn.net/sk719887916 虽然Android已到了7.0 ,但是我们还是不能忘怀视觉革命性改变的5.0,今天回顾下 ...
- ORACLE异常(整理网上资料)
一.oracle预定义异常 命名的系统异常 产生原因 Oracle Error SQLCODE Value ACCESS_INTO_NULL 未定义对象 ORA-06530 -6530 CASE_N ...
- UNIX网络编程——ioctl 函数的用法详解
1.介绍 Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的 ...
- Unity UGUI图文混排源码(三) -- 动态表情
这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...
- kindeditor用法简单介绍
最近做毕业设计用了一个叫做kindeditor的文本编辑工具,相信很多人都用过,这货和fckeditor差不多,个人感觉这个的皮肤更好看,而且对中文的支持更好,没那么容易出现中文乱码问题.下次记录一下 ...
- springMVC源码分析--国际化实现Session和Cookie(二)
上一篇博客springMVC源码分析--国际化LocaleResolver(一)中我们介绍了springMVC提供的国际化的解决方案,接下来我们根据springMVC提供的解决方案来简单的实现一个多语 ...
- 使用FMDB多线程访问数据库,及database is locked的问题
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 今天终于解决了多线程同时访问数据库时,报数据库锁定的问题,错误信息是: Unknown error finalizi ...
- listview下拉刷新上拉加载扩展(二)-仿美团外卖
经过前几篇的listview下拉刷新上拉加载讲解,相信你对其实现机制有了一个深刻的认识了吧,那么这篇文章我们来实现一个高级的listview下拉刷新上拉加载-仿新版美团外卖的袋鼠动画: 项目结构: 是 ...