War任务默认会把src/main/webapp的内容复制到归档目录的根目录.webapp文件夹下会包含一个WEB-INF子文件夹,里面可能会有一个web.xml文件.编译后的class文件会在WEB-INF/classes下,所有runtime[13]的依赖配置会被拷贝至WEB-INF/lib下.API文档中有更多关于War的信息.[13]runtime配置扩展了compile配置.
<<<<<<< HEADWar插件会添加下列任务到项目.表25.1.War插件-任务任务名依赖类型描述warcompileWar组装应用程序War文件War插件由Java插件添加下列依赖任务.表25.2.War插件-附加的依赖任务任务名依赖assemblewar图25.1.War插件-任务a655fa4be4421004591827ae70fee579703794dd
<<<<<<< HEAD使用war插件需要在构建脚本下包括以下内容例25.1.使用war插件build.gradleapply plugin 'war'a655fa4be4421004591827ae70fee579703794dd
clean 任务是一个 Delete 的实例. 它只是删除 dir 属性指定的目录.表22.11.java 插件 - Clean 的属性任务属性类型默认值dirFilebuildDir
Javadoc task 是 Javadoc 的一个实例. 它支持 Javadoc 的核心选项和可执行的 Javadoc 的 reference documentation 中描述的标准 J avaTOC 的选项. 有关支持 Javadoc 选项的完整列表, 请参阅以下类的API文档:CoreJavadocOptions 和 StandardJavadocDocletOptions.表22.10.java 插件- javadoc 配置任务属性类型默认值classpathFileCollectionsourceSets.main.
Java 插件引入了许多任务到项目当中, 具体如下表所示表22.1 java 插件-任务任务名依赖类型描述compileJava所有产生编译 classpath 的任务,包括编译配置项目的所依赖的 jar 文件JavaCompile使用 javac 命令编译产生 java源文件processResources-Copy复制生产资源到生产 class 文件目录classescompileJava任务和processResources任务。
要使用 Java 插件,需要在构建脚本中加入如下内容例子 22.1.使用 Java 插件bulid.gradleapply plugin: 'java'
特点为什么用 Groovy?
很高兴能向大家介绍 Gradle,这是一个构建系统,我们认为它是 java ( JVM ) 世界中构建技术的一个飞跃. Gradle 提供了:一个像 Ant 一样的非常灵活的通用构建工具一种可切换的, 像 maven 一样的基于合约构建的框架支持强大的多工程构建支持强大的依赖管理(基于 ApacheIvy )支持已有的 maven 和 ivy 仓库支持传递性依赖管理, 而不需要远程仓库或者 pom.
Guava 工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被 Google 的工程师应用在产品服务中。
Gradle 的核心为真实世界提供了很少的自动化.所有的实用特性,类似编译java源码的能力, 是由插件提供的. 插件添加了新的任务(如:JavaCompile),域对象(如:SourceSet),公约(如:Java资源位置是src/main/java)以及来自其他插件延伸核心对象和对象。在本章中,我们将讨论如何使用插件和关于插件的周边概念和术语。
Log 是构建的主要"UI"工具. 如果日志太过冗长, 那么真正的警告和问题会隐藏其中, 另一方面, 如果你出错了,你又需要搞清楚相关错误信息. Gradle 提供了6个等级的 log, 如[表17.1.Logs Level]()所示.出了那些你可能经常看到的, 还有两个是 Gradle 特定级别的日志,被称为QUIET和LIFECYCLE.后者是默认的, 并用于报告生成进度.表17.1.
Ant 集成是由 AntBuilder 提供的.git
文件树就是一个按照层次结构分布的文件集合,例如,一个文件树可以代表一个目录树结构或者一个 ZIP 压缩文件的内容.它被抽象为 FileTree 结构,FileTree 继承自 FileCollection,所以你可以像处理文件集合一样处理文件树, Gradle 有些对象实现了FileTree 接口,例如 源集合.使用 Project.
为了提高响应能力,Gradle 默认缓存了所有编译后的脚本. 包括所有的构建脚本,初始化脚本,还有其他脚本. Gradle 创建了一个 .gradle 目录来存放编译后的脚本,下次您运行构建脚本时,如果这个脚本自从它被编译后就再也没有被改动过,Gradle 会先使用编译后的脚本. 否则 Gradle 会重新编译脚本,然后将新编译后的文件缓存起来.
下面补充的部分原本是第 14 章,最新的 Gradle 文档将其移除,所以将其作为补充放到这一章节。
局部变量使用关键字 def 来声明,其只在声明它的地方可见 . 局部变量是 Groovy 语言的一个基本特性.例子 13.2 . 使用局部变量 def dest = "dest" task copy(type: Copy) { form "source" into dest }
在设置界面,你可以配置一些常用的设置.图 12.2 设置界面“Current Directory” 图形界面会默认设置您的Gradle项目的根目录(build.gradle 文件所在的目录)为当前目录.“Stack Trace Output“ 这个选项可以指定当错误发生时,有多少信息可以写入到轨迹栈中,注意:在您设定轨迹栈级别后,如果"Command Line"(命令行)选项卡中,或者在"
在“Command Line”选项卡,您只需将命令填入到gradle输入框. 就可以直接执行单个的Gradle命令. 或者说在您将某个命令添加到收藏夹之前,您想看看是什么效果的话,不妨来这里试试.
关注时代Java