gradle适配maven项目_Maven范围和Gradle配置知多少?

本文探讨了Maven和Gradle在依赖管理方面的差异,重点介绍了Maven的scope(如compile、provided、runtime、test)与Gradle的配置(如implementation、api、compileOnly等)。通过对比,展示了Gradle如何提供更细粒度的控制,以及如何适配Maven项目。
摘要由CSDN通过智能技术生成

简介:

Java构建工具的关键功能之一是依赖关系管理,我们要在自己的项目中使用某个第三方库,并且构建工具将负责在构建生命周期中的正确时间下载它并将其添加到类路径中。

Maven作为构建工具已经存在了很长时间,它稳定并且在Java社区中仍然很受欢迎。

Gradle在很早以前就已经成为Maven的替代品,它严重依赖于Maven依赖项基础结构,但是提供了一种更加灵活的声明依赖项的方法。

什么是范围/配置?

Maven pom.xml文件或Gradle build.gradle文件指定从我们的源代码创建软件工件的必要步骤。例如,此工件可以是JAR文件或WAR文件。

在大多数不平凡的项目中,我们都依赖第三方库和框架。因此,构建工具的另一任务是管理对这些第三方库和框架的依赖关系。

假设我们要在代码中使用SLF4J日志记录库。在Maven pom.xml文件中,我们将声明以下依赖关系:

org.slf4j

slf4j-api

1.7.26

compile

在Gradle build.gradle文件中,相同的依赖性如下所示:

implementation 'org.slf4j:slf4j-api:1.7.26'

Maven和Gradle都允许定义不同的依赖组。这些依赖项组在Maven中称为“范围”,在Gradle中称为“配置”。

这些依赖项组中的每一个都有不同的特征,并以不同的方式回答以下问题:

在构建生命周期的哪些步骤中将提供依赖关系?可以在编译时使用吗?在运行时?在测试的编译和运行时?

依赖关系是可传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值