前段时间在看了文章[
5个让人激动的Java项目]之后,决定实践一下 Gradle。
我对 Gradle 的理解是其是结合了 Maven 和 Ant 双方优点的一种基于 Groovy DSL 的新式项目构建工具。而且由于是基于 Groovy 语言,所以语法上要比基于 XML 的 Maven 和 Ant 简洁许多,并且功能更加强大。
现在 Gradle 的最新版本是 1.0 rc1,IDE 方面我用的是 IntelliJ IDEA 11.1。需要说明的是,IDEA 11.1 以前的版本并不能和 1.0 rc1 配合使用,这也是因为 Gradle 是个新工具,变化比较快导致的。
下面通过一个例子,从使用 Maven 的 Repository、OSGi 项目构建、模块化项目等角度为大家初步介绍一下 Gradle 的使用。
// 其实是 Groovy 代码,为了高亮,写成 Java
// build.gradle:
// 包含在 subprojects 中的配置只对 settings.gradle 中包含的子项目起作用。
// 类似的还有 allprojects,对根项目也起作用
subprojects { subproject ->
// 使用本地的 Maven 仓库
repositories {
mavenLocal()
}
// 启用插件
apply plugin: 'java'
// OSGi 插件用于生产 manifest 文件
apply plugin: 'osgi'
// 解决使用 OSGi 插件的一个 bug
classes.doLast {
// without this, the jar task fails with "java.lang.IllegalArgumentException: A Jar can only accept a valid file or directory:" as underlying cause
ant.mkdir(dir: "$buildDir/classes/main")
}
// 依赖管理,语法和 Maven 相比简练许多
dependencies {
testCompile 'junit:junit:4.8.1'
compile 'log4j:log4j:1.2.16'
}
}
// settings.gradle
// 对于多模块系统是必须的
include 'subproj1', 'subproj2'
Gradle 常用的几个命令,jar 是打包,test 的运行单元测试,clean 是清理。与 Maven 不同,jar 命令不会运行单元测试。但是 Gradle 也像 Maven 一样,支持多个命令同时运行,用空格分开即可。
Gradle 的特性是非常多的,我这里介绍的只是一小部分。
Gradle 的不足在于并不像 Maven 的 pom.xml 那样有相对固定的格式,当然这也是其灵活用法的两面性。另一点不足是 Gradle 还是一个比较新的项目,目前为止最新版本也才是 1.0 rc1,上不是正式版本。当然已经有很多著名的开源项目,例如 Hibernate,开始使用 Gradle 作为项目构建工具,所以 Gradle 的前途还是很好的。
对于目前采用 Maven 的项目,一般没有必要移到 Gradle 上。但如果对于大型项目,需要很多自定义的项目构建过程,我认为 Gradle 是比 Maven 或 Ant + Ivy 更好的选择。
附件是整个项目。
分享到:
相关推荐
【Gradle实践1】课程主要围绕Gradle这一构建工具展开,旨在帮助初学者快速掌握其使用。Gradle是一个灵活且强大的构建自动化系统,尤其适用于Java和C#等编程语言的项目。课程分为多个章节,逐步深入地讲解Gradle的...
标题中的知识点:“Gradle Effective Implementation Guide”指的是本书是一本关于Gradle实践的指南。Gradle是一种基于Apache Ant和Apache Maven概念的项目自动化构建工具,它使用一种基于Groovy的特定领域语言来...
《Groovy学习与Gradle实践经典手册》是一本深度探讨Groovy编程语言和Gradle构建工具的指南,专为Android及Java开发人员提供全面的知识覆盖。本书旨在帮助开发者提升在项目管理和自动化构建方面的技能,使其能够高效...
四、Gradle实践应用 在实际开发中,Gradle广泛应用于Java、Android等项目的构建。对于Java项目,Gradle可以轻松管理Maven仓库中的依赖,对于Android项目,Gradle提供了一整套完善的构建方案,包括资源处理、APK打包...
而描述部分则暗示了这本书是权威的Gradle实践指南,是Manning出版的,具有一定的品牌影响力。标签“Gradle Manning”表明本书专注于Gradle技术,并且是Manning出版系列书籍之一。 接下来,从提供的部分内容中,我们...
四、最佳实践 1. **合理使用缓存**:正确配置Gradle的本地和远程缓存,可以有效减少网络依赖,加快构建速度。 2. **使用懒加载**:避免在构建脚本中提前初始化不必要的依赖,利用Gradle的懒加载特性,只在需要时才...
6. **最佳实践** - 对于新项目,建议使用较新的Gradle版本以获取最新特性。 - 对于维护旧项目,应确保Gradle版本与项目的其他依赖兼容,避免升级带来的不稳定性。 - 定期检查Gradle的更新,及时升级以利用性能...
同时,通过示例项目可以实践这些概念,提升对Gradle的理解和应用能力。 总之,Gradle 4.6 在依赖管理上的出色表现和稳定性,使其成为许多开发者的首选。配合详尽的文档和丰富的示例,无论是新手还是经验丰富的...
Gradle 是一个强大的自动化构建工具,广泛应用于Java、Android和其他多语言项目中。在本案例中,我们讨论的是...了解和掌握Gradle的各种特性和最佳实践对于现代软件开发至关重要,特别是对于Android开发来说更是如此。
本文将深入探讨如何使用Gradle来管理SpringBoot项目,以"gradleTest"为例,解析其核心概念与实践操作。 一、Gradle基础 Gradle是一种基于Groovy的构建自动化工具,它允许开发者通过声明式的方式来定义构建过程。与...
, 《实战Gradle》(Gradle in Action)全方位地讲解了Gradle 工具相关的知识,包括Gradle 的基本知识、自动化构建的基本概念和最佳实践,以实际案例的方式解释如何使用Gradle 进行软件项目构建。除了基础知识外,...
Gradle是一款强大的构建工具,广泛应用于Java、Android和其他JVM语言的项目中。它采用领域特定语言(DSL)来管理构建过程,相比Ant和...参考相关博客或其他在线资源,可以进一步学习和掌握Gradle的高级特性和最佳实践。
Gradle 的最佳实践: - 组织项目结构,明确地组织代码和资源,便于管理。 - 使用初始化脚本、构建脚本和项目结构遵循可维护性原则。 - 使用懒加载配置,按需初始化配置,提高构建性能。 Gradle 在不同语言和环境下...
此外,"更多资源.url"可能指向一个包含相关文档、教程或更新信息的链接,这对于学习和了解Gradle的新特性和最佳实践非常有帮助。 总的来说,Gradle 2.13是一个为开发者提供高效构建解决方案的重要工具,尤其在...
六、持续集成与最佳实践: - 使用`wrapper`:Gradle Wrapper是一个小型的构建脚本,确保团队成员使用一致的Gradle版本。 - 配置缓存:优化本地和远程缓存设置,以减少网络传输和加快构建速度。 - 编写清晰的构建脚本...
- **API更新**:可能更新了一些API,以保持与最新的开发标准和最佳实践同步。 3. **安装与使用** 解压`gradle-4.4.zip`后,用户需要将解压路径添加到系统的PATH环境变量中,以便命令行可以识别`gradle`命令。然后...
标题为“Gradle Tutorial”的文档是一份关于Gradle构建工具的英文教程,介绍了Gradle的版本信息、实现方式、...通过学习和实践上述核心概念,开发者们可以更加有效地使用Gradle来自动化项目的构建、测试和部署过程。
Gradle 是一个强大的构建自动化工具,广泛用于Java、Android和其他 JVM 语言的项目。它以其灵活性、可扩展性和高效的依赖管理而闻名。...为了充分利用Gradle,建议深入阅读其官方文档,了解各项功能和最佳实践。
6. **最佳实践**: - **缓存策略**:合理设置Gradle的本地仓库和缓存策略,以减少不必要的网络请求。 - **版本控制**:将`build.gradle`文件纳入版本控制,确保团队成员使用相同的构建配置。 - **持续集成**:...