gpt4 book ai didi

gradle - Gradle 的配置层次结构如何工作?

转载 作者:行者123 更新时间:2023-12-04 22:29:46 25 4
gpt4 key购买 nike

我知道有四种基本配置,compile、runtime、testCompile 和 testRuntime。如果我放入这样的依赖项:

runtime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.3'

这意味着此依赖项在运行时和编译下可用,对吗?但是 testCompile 和 testRuntime 呢?它也适用于这些配置吗?如果我添加自己的配置,是否必须指定它在层次结构中的位置?如果我不这样做会怎样?文档并没有真正说明这一点。

最佳答案

对于 java 插件,这 4 个配置的定义如下:

编译
编译项目的生产源所需的依赖项。

运行时间
生产类在运行时所需的依赖项。默认情况下,还包括编译时依赖项。

测试编译
编译项目的测试源所需的依赖项。默认情况下,还包括已编译的生产类和编译时依赖项。

测试运行时
运行测试所需的依赖项。默认情况下,还包括编译、运行时和测试编译依赖项。

您也可以查看 https://docs.gradle.org/current/userguide/java_plugin.html#tab:configurations ,它有漂亮的图形和表格:

enter image description here

当您声明一个新配置时,您可以定义它扩展的其他配置,例如 Gradle In Action 以 Geb 为例,您可以将新配置定义为

configurations {
functTestCompile.extendsFrom testCompile
functTestRuntime.extendsFrom testRuntime
}

如果你不这样做,你假设这些配置不需要从另一个和它的独立中受益,你将需要定义这个配置所需的所有依赖项。

关于gradle - Gradle 的配置层次结构如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32354568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com