我们使用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'
有没有一种方法来下载依赖的只有特定版本,即使关系具有最新版本的文物
我们使用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'
有没有一种方法来下载依赖的只有特定版本,即使关系具有最新版本的文物
你可以用usin强制版本号g配置的分辨率策略。
例如
configurations.compile {
resolutionStrategy {
force 'com.abc:cde:3.4.1'
}
}
查看https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html了解更多信息。
谢谢,是否强制每个必需的依赖项的版本都有最佳实践?我还发现我们也可以强制依赖处理程序的版本,但解决策略总是优先。这听起来像是依赖处理vs maven中的gradle的一个缺点。 Maven将pom中的版本作为优先级来使用,所以我不需要明确强制它们。 – user6930
您所描述的内容实际上并不可行,除非某些其他组件引入较新版本的工件。你可以使用'gradle dependencies'来找出它来自哪里。 – Henry
有关gradle依赖关系的高手知识 – user6930