Gradle依赖性管理强制版本

时间:2019-08-24 07:46:24

标签: gradle

像Maven read()标记中那样进行依赖管理的最佳方法是什么?

我在网上做了一些研究,发现有一些选择:

2 个答案:

答案 0 :(得分:1)

使用Gradle的本机支持导入BOM表:

从文档here

dependencies {
    // import a BOM
    implementation(platform("org.springframework.boot:spring-boot-dependencies:2.1.7.RELEASE"))

    // define dependencies without versions
    implementation("com.google.code.gson:gson")
    implementation("dom4j:dom4j")

    // import a BOM for test dependencies
    testImplementation(platform("org.junit:junit-bom:5.5.1"))

    // define dependency without versions
    testImplementation("org.junit.jupiter:junit-jupiter")
}

我建议观看Managing Dependencies for Spring Projects with Gradle by Jenn Strater and Andy Wilkinson,以了解为何Spring的依赖管理插件存在以及插件本身和Gradle的发展方向。

答案 1 :(得分:0)

我用这种方式强制版本:

configurations.all {
        
        resolutionStrategy {
            eachDependency { DependencyResolveDetails details ->
                if (details.requested.group == 'redis.clients') {
                    details.useVersion "3.0.1"
                }
                if (details.requested.group == 'com.github.jsqlparser') {
                    details.useVersion "2.1"
                }
                if (details.requested.group == 'com.squareup.okhttp3') {
                    details.useVersion "4.0.0"
                }
                if (details.requested.group == 'com.github.pagehelper' && !details.requested.name.contains('spring-boot')) {
                    
                    details.useVersion("5.1.11")
                }
            }
        }
    }

希望对您有所帮助。