Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle:默认配置是什么?如何更改_Gradle - Fatal编程技术网

Gradle:默认配置是什么?如何更改

Gradle:默认配置是什么?如何更改,gradle,Gradle,当我运行“依赖项”任务时,有几个部分:编译、运行时、测试编译 其中一个部分是“默认-默认工件的配置”。这个部分是什么,它的用途是什么 如何更改“默认配置”中的内容 详细信息:Gradle 1.7除非您的构建发布的是Ivy模块,默认配置主要与处理多项目构建中的项目依赖关系相关。给定一个包含项目a和B的多项目构建,如果a在没有明确命名配置(例如,依赖项{compile project(“:B”)})的情况下声明了对B的项目依赖,a(更准确地说,a的编译配置)将依赖于项目B的默认配置。换句话说,依赖项

当我运行“依赖项”任务时,有几个部分:编译、运行时、测试编译

其中一个部分是“默认-默认工件的配置”。这个部分是什么,它的用途是什么

如何更改“默认配置”中的内容


详细信息:Gradle 1.7

除非您的构建发布的是Ivy模块,
默认配置主要与处理多项目构建中的项目依赖关系相关。给定一个包含项目a和B的多项目构建,如果a在没有明确命名配置(例如,
依赖项{compile project(“:B”)}
)的情况下声明了对B的项目依赖,a(更准确地说,a的
编译
配置)将依赖于项目B的
默认
配置。换句话说,
依赖项{compile project(“:B”)}
是依赖项{compile project(路径:“:B”,配置:“default”)}
的快捷方式


默认
配置是从
运行时
配置扩展而来的,这意味着它包含
运行时
配置的所有依赖项和工件,以及可能更多的依赖项和工件。您可以用通常的方式添加依赖项和工件(在B的构建脚本中使用
依赖项
/
工件
块)。或者,B可以声明自定义配置,a可以通过显式命名该配置来依赖该配置(例如
依赖项{compile project(路径::B),配置:“myCustomConfig”)}

使用gradle java插件时,“默认”配置从“运行时”、“仅运行时”、“实现”扩展而来

如果您不使用java插件,那么您可以自己这样定义它

configurations {
    "default"
}
java插件在此处设置默认配置:

这方面的文档不是很好

“服务”组合构建中的默认工件的示例。 该示例创建了一个子项目,该子项目引用了另一个项目中的依赖项。这在处理复合构建时是必要的,因为只有“默认”组可以依赖

我们使用它从单个项目中获取多个JAR,并在将项目作为复合构建引用时将其作为不同的依赖项使用

apply plugin: 'base'

configurations {
    depend
}

dependencies {
    depend project(path: ':', configuration: 'ConfWithArtifact')
}

artifacts {
    "default" (file: configurations.depend.singleFile) {
        builtBy(configurations.depend)
    }
}

default
配置实际上是由
base
插件创建的,因此您不需要自己定义它

我也遇到过仅从
默认配置合成合成构建的问题,但我的解决方法略有不同:

plugins {
    id 'base'
}

configurations {
    bootstrap
    it.'default'.extendsFrom bootstrap
}

dependencies {
    bootstrap project(path: ':other', configuration: 'otherConfiguration')
}

这种方法允许
:other
项目中的工件保留其可传递的依赖项,前提是您有兴趣保留它们。

我仍然想知道您是否可以将默认配置设置为“runtime”以外的其他设置。我没有完全理解。所以runtime=default?你有这方面的来源吗?我一直在寻找有关此
default
配置的一些文档,但尚未找到任何。添加了指向配置设置位置的链接。关于这方面的文档非常糟糕:(.在复合构建中是如何处理的?我添加了一个来自我以前工作过的项目的示例。