首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级不遵守强制依赖版本

分级不遵守强制依赖版本
EN

Stack Overflow用户
提问于 2016-12-23 18:11:16
回答 2查看 1.6K关注 0票数 0

我无法使用Gradle强制使用依赖项的版本。我的目标是使用Spring库的0.20.0.RELEASE版本,但是尽管我做了所有的努力,它还是继续致力于0.19.0.RELEASE

我曾尝试过一些孤立的和相互结合的战略。这些策略包括但可能不限于以下内容(请注意,在所有情况下,$springHateoasVersion都是在驻留在目录中的gradle.properties文件中定义的,该目录是声明Spring依赖项的模块的父目录):

#1 (在声明依赖项的模块的build.gradle文件中)

代码语言:javascript
复制
apply plugin: 'io.spring.dependency-management'

dependencyManagement {
    dependencies {
        dependency group:'org.springframework.hateoas', name:'spring-hateoas', version:"$springHateoasVersion"
    }
}

#2 (在声明依赖项的模块的build.gradle文件中)

代码语言:javascript
复制
compile ("org.springframework.hateoas:spring-hateoas:$springHateoasVersion") { force = true }

#3 (在目录的文件中)

代码语言:javascript
复制
subprojects {
    configurations.all {
        resolutionStrategy {
            force "org.springframework.hateoas:spring-hateoas:$springHateoasVersion"
        }
    }
}

我已尽力研究这个问题:

这个问题有一个公认的答案,但似乎与我正在经历的问题不完全匹配:如何强制Gradle为两个依赖项设置相同的版本?

这两个问题似乎都没有被接受: 1) Gradle不尊重resolutionStrategy.force,2) 强制模块版本对生成的org.eclipse.wst.common.component没有影响。

除了我的项目失败(因为我使用了Spring的错误版本)之外,我可以清楚地看到,Gradle“有意识地”选择了不正确的依赖版本,尽管我提出了所有的主张。当我运行./gradlew dependencyInsight --dependency spring-hateoas时,我看到以下输出:

代码语言:javascript
复制
org.springframework.hateoas:spring-hateoas:0.19.0.RELEASE (selected by rule)

org.springframework.hateoas:spring-hateoas:0.20.0.RELEASE -> 0.19.0.RELEASE
\--- project :Commons
     \--- compile

尽管有这个名称,但dependencyInsight任务对哪条规则导致Gradle选择不合适的依赖版本提供了令人惊讶的洞察力,更不用说我如何绕过said规则了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-23 20:50:05

我找到了这个问题的解决方案,这里。当然,这是我没有尝试的一件事,因为它“看上去不重要”。*-/

为了工作,我将以下内容添加到目录的文件中(相对于声明依赖于Spring的模块的目录)。

代码语言:javascript
复制
subprojects {
    apply plugin: 'io.spring.dependency-management'

    dependencyManagement {
        applyMavenExclusions false
    }

    ext['spring-hateoas.version'] = "$springHateoasVersion"
}
票数 0
EN

Stack Overflow用户

发布于 2022-11-10 13:00:07

G.

代码语言:javascript
复制
allprojects {
    repositories {
        exclusiveContent {
            filter {
                includeGroup "com.facebook.react"
            }
            forRepository {
                maven {
                    url "$rootDir/../node_modules/react-native/android"
                }
            }
        }
    }
    ...
}

参考https://github.com/facebook/react-native/issues/35204#issuecomment-1304740228

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41306042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档