Nexus/Gradle锁特定版本

Nexus/Gradle锁特定版本,gradle,nexus,sonatype,Gradle,Nexus,Sonatype,我们使用gradle作为构建工具,使用sonatype nexus存储项目第三方和公共工件 最近有一个公共工件的更新,比如com.abc:cde:3.4.2,其中我们的项目使用com.abc:cde:3.4.1 然而,在构建执行过程中,gradle提取工件的最新版本,即使明确指定构建只下载3.4.1 compile 'com.abc:cde:3.4.1' 有没有办法只下载特定版本的依赖项,即使nexus有最新版本的工件您可以通过在配置上使用解析策略来强制提供版本号 e、 g 查看以了解更多信息

我们使用gradle作为构建工具,使用sonatype nexus存储项目第三方和公共工件

最近有一个公共工件的更新,比如com.abc:cde:3.4.2,其中我们的项目使用com.abc:cde:3.4.1

然而,在构建执行过程中,gradle提取工件的最新版本,即使明确指定构建只下载3.4.1

compile 'com.abc:cde:3.4.1'

有没有办法只下载特定版本的依赖项,即使nexus有最新版本的工件

您可以通过在配置上使用解析策略来强制提供版本号

e、 g


查看以了解更多信息。

您可以通过在配置上使用解析策略来强制提供版本号

e、 g


查看以了解更多信息。

您所描述的实际上是不可能的,除非其他组件引入了较新版本的工件。您可以使用
gradle dependencies
来找出它的来源。了解gradle dependencies很好您所描述的实际上是不可能的,除非其他组件引入了较新版本的工件。您可以使用
gradle dependencies
来找出它的来源。了解gradle dependencies很好,gradle的最佳做法是为每个必需的依赖项强制提供版本吗?我还发现,我们也可以强制依赖处理程序的版本,但是解析策略总是优先。这听起来像是gradle对maven的一个缺点。Maven以pom中的版本为优先,所以我不必显式地强制它们。谢谢,强制每个必需的依赖项的版本是gradle的最佳实践吗?我还发现,我们也可以强制依赖处理程序的版本,但是解析策略总是优先。这听起来像是gradle对maven的一个缺点。Maven以pom中的版本为优先,所以我不必显式地强制它们。
configurations.compile {
  resolutionStrategy {
      force 'com.abc:cde:3.4.1'
  }
}