我们使用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有最新版本的工件,有没有办法只下载特定版本的依赖项
您可以通过对配置使用解析策略来强制版本号。
例如
configurations.compile {
resolutionStrategy {
force 'com.abc:cde:3.4.1'
}
}
查看https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html了解更多信息。
我正试图在我的react-native android项目中升级gradle包装器版本。 我没有在Mac上安装gradle,我只是使用react-native附带的包装器,它是2.14.1版本。我想使用一个库,它要求年级4.4+,我遵循了官方教程。我马上就得到了这个问题。 我发现每当我键入时,它总是引用我的用户目录中的,尽管我已经指定要使用这是较新的版本。zip文件现在在我的项目包装器文件夹中,(
我已经开发这个小项目好几天了,但今天突然,Android Studio开始给我这个错误 我明白这是因为它试图编译Android L的库。我希望它编译的版本是旧版本,但它不会。无论我输入哪个版本,它都一直给我上面的错误。这里是依赖关系。 使现代化 我刚刚安装了Android Studio Beta,并将我的依赖项更改为下面Eugen建议的依赖项。但是,无论我指定哪个版本的appcompat支持版本,
如何在Gradle Scala项目中指定Scala版本? 官方留档声明依赖项用于获取编译器。 这是否意味着将使用Scala 2.11.1?
很高兴能向大家介绍 Gradle, 这是一个构建系统, 我们认为它是 java ( JVM ) 世界中构建技术的一个飞跃. Gradle 提供了: 一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 maven 一样的基于合约构建的框架 支持强大的多工程构建 支持强大的依赖管理(基于 ApacheIvy ) 支持已有的 maven 和 ivy 仓库 支持传递性依赖管理, 而不需要远程
问题内容: 问题。 Gradle依赖管理使得: 没有简便的方法来检查依赖项更新的可用性(仅使用某些第三方插件,如ben-manes / gradle-versions-plugin)并下载更新以替换旧版本; 从远程存储库下载依赖项工件,然后将其存储在gradle缓存中,并在后续构建中重用;但是项目的成功编译必须不依赖于与Internet的连接,远程存储库的可用性以及这些存储库中特定版本的依赖项。
问题。 分级依赖项管理是这样进行的: 检查依赖更新的可用性(仅使用一些第三方插件,如Ben-Manes/Gradle-Versions-Plugin),并下载替换旧版本的更新是不容易的; 依赖项构件从远程存储库下载,然后存储在gradle缓存中,并在后续构建中重用;但项目的成功编译不能依赖于与Internet的连接、远程存储库的可用性以及这些存储库中依赖项的特定版本的存在。 null