在 Gradle 中,如何在一个地方声明公共依赖项?

2024-04-16

在 Maven 中,有一个非常有用的功能,您可以在其中定义依赖项<dependencyManagement>父 POM 的部分,并从子模块引用该依赖项,而不指定版本或范围或其他内容。

Gradle 中有哪些替代方案?


您可以在父脚本中声明公共依赖项:

ext.libraries = [ // Groovy map literal
    spring_core: "org.springframework:spring-core:3.1",
    junit: "junit:junit:4.10"
]

然后,您可以在子脚本中使用依赖项声明,如下所示:

dependencies {
    compile libraries.spring_core
    testCompile libraries.junit
}

要与高级配置选项共享依赖声明,您可以使用DependencyHandler.create:

libraries = [
    spring_core: dependencies.create("org.springframework:spring-core:3.1") {
        exclude module: "commons-logging"
        force = true
    }
]

多个依赖项可以在同一个名称下共享:

libraries = [
    spring: [ // Groovy list literal
        "org.springframework:spring-core:3.1", 
        "org.springframework:spring-jdbc:3.1"
    ]
]

dependencies { compile libraries.spring }然后将立即添加两个依赖项。

您无法以这种方式共享的一条信息是配置(scope在 Maven 术语中)应该分配一个依赖项。然而,根据我的经验,无论如何最好明确说明这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Gradle 中,如何在一个地方声明公共依赖项? 的相关文章

随机推荐