2016-01-29 33 views
0

我们使用gradle作为构建工具,并使用sonatype nexus来存储项目第三方和公共构件。Nexus/Gradle锁相关版本

有最近更新公共神器说com.abc:cde:3.4.2,其中我们的项目在执行时使用com.abc:cde:3.4.1

然而,gradle这个拉即使生成显式指定神器的最新版本下载只3.4.1

compile 'com.abc:cde:3.4.1' 

有没有一种方法来下载依赖的只有特定版本,即使关系具有最新版本的文物

+1

您所描述的内容实际上并不可行,除非某些其他组件引入较新版本的工件。你可以使用'gradle dependencies'来找出它来自哪里。 – Henry

+0

有关gradle依赖关系的高手知识 – user6930

回答

2

你可以用usin强制版本号g配置的分辨率策略。

例如

configurations.compile { 
    resolutionStrategy { 
     force 'com.abc:cde:3.4.1' 
    } 
} 

查看https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html了解更多信息。

+0

谢谢,是否强制每个必需的依赖项的版本都有最佳实践?我还发现我们也可以强制依赖处理程序的版本,但解决策略总是优先。这听起来像是依赖处理vs maven中的gradle的一个缺点。 Maven将pom中的版本作为优先级来使用,所以我不需要明确强制它们。 – user6930