在 Java 中从 Maven 迁移到 Gradle

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

在过去几年中,Apache Maven 已成为 Java 和 Java EE 项目的实际构建工具。但在过去的两年里, Gradle 获得了越来越多的用户。在本文中,您将看到如何将 Gradle 用于 Java EE 项目。

Gradle 是一个类似于 Ant 或 Maven 的构建自动化工具,但引入了基于 Groovy 的 DSL 语言而不是 XML。因此,正如您所料,构建文件是一个 Groovy 文件。

安装 Gradle 有多种方法,但对我来说最好的方法是使用 sdkman 工具。要安装 sdkman 工具,只需运行: $ curl -s get.sdkman.io | bash

之后,您可以通过运行以下命令来初始化 sdkman $ source "$HOME/.sdkman/bin/sdkman-init.sh"

安装 sdkman 后,安装 Gradle 就像运行一样简单: $ sdk install gradle

现在您可以开始创建构建脚本了。首先要做的是创建一个 settings.gradle ,在本例中我们将设置项目的名称。


 rootProject.name = 'my-javaee'


在多个模块项目的情况下也使用此文件。

您可能需要的最后一个文件是一个名为 build.gradle 的 文件,它管理所有构建过程。


 rootProject.name = 'my-javaee'


请注意,第一行表明您要构建的是一个 战争 项目。然后设置项目属性,如 group version description 或 Java 编译 选项。最后只需要一个依赖项并具有提供的范围,因为实现由应用程序服务器提供。

请注意, providedCompile 范围仅在您使用 war 插件时可用。如果您正在使用其他插件,例如 java ,那么您将需要自己实现此功能(至少在使用 Gradle 2.7 撰写本文时)。

这就是全部,非常紧凑,只有 16 行,没有冗长的信息。当然,现在您将需要添加更多依赖项,例如具有 testCompile 范围的 JUnit 或 Arquillian 或代码中所需的任何其他额外库,例如众所周知的 apache-commons 依赖项;但这是另一篇文章的故事。