sli*_*lim 3 gradle build.gradle
我知道有四种基本配置,编译,运行时,testCompile和testRuntime.如果我输入这样的依赖:
runtime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.3'
Run Code Online (Sandbox Code Playgroud)
这意味着此依赖项在运行时和编译时可用,对吗?但是testCompile和testRuntime呢?它也适用于这些配置吗?如果我添加自己的配置,是否必须指定它在层次结构中的位置?如果我不这样做会怎么样?文档并没有真正说清楚.
Fré*_*nri 11
这4个配置的定义如下java插件:
编译 编译项目生产源所需的依赖项.
runtime运行时 生产类所需的依赖项.默认情况下,还包括编译时依赖项.
testCompile 编译项目测试源所需的依赖项.默认情况下,还包括已编译的生产类和编译时依赖项.
testRuntime 运行测试所需的依赖项.默认情况下,还包括编译,运行时和测试编译依赖项.
你也可以查看https://docs.gradle.org/current/userguide/java_plugin.html#tab:configurations,它有漂亮的图表和表格:
声明新配置时,您可以定义它扩展的其他配置,例如Gradle In Action以Geb为例,您可以将新配置定义为
configurations {
functTestCompile.extendsFrom testCompile
functTestRuntime.extendsFrom testRuntime
}
Run Code Online (Sandbox Code Playgroud)
如果你不这样做,你会认为这些配置不需要从另一个配置中获益,而是需要另外配置,你需要定义这个配置所需的所有依赖关系.
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |