Gradle 依赖版本“+”符号

2024-04-13

我试图了解 Gradle 如何处理带有“+”号的依赖版本,如示例 8.1 所示:http://www.gradle.org/docs/current/userguide/artifact_dependency_tutorial.html http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html

testCompile group: 'junit', name: 'junit', version: '4.+

文档指出这将获得 junit >= 4.0 的版本。如何获得大于(或等于)(例如 5.10)的依赖项版本?可不可能是5.10+ or 5.1+?前者似乎无法正常工作,但后者可以。如何获得大于或等于 1.22 的依赖性?1.2+?在这种情况下,如果版本 1.21 存在并且是最新版本,我想失败,因为我想要大于或等于 1.22,但是1.2+将寻找 >= 1.20。我该如何指定这一点?这可能吗?我似乎找不到更多关于它的文档。

编辑:我倾向于认为它是1.2+相当于1.2([0-9]+)。这是正确的思维方式吗?


在这种情况下,如果版本 1.21 存在并且是最新版本,我 想要失败,因为我想要大于或等于 1.22,但是 1.2+ 将查找 >= 1.20。我该如何指定这一点?这可能吗?

我认为没有任何关于此的文档,但由于 Gradle 最初在底层使用 Ivy 来实现其所有依赖项管理功能,所以我查看了有关动态版本的 Ivy 文档:

http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html

它只比 Gradle 文档多一点点。我尝试在 Gradle 中尝试使用 Ivy 风格的版本范围:

compile group: 'log4j', name: 'log4j', version: '[1.2.12,1.2.17]'

令人惊讶的是,似乎有时工作取决于版本范围。在上面的例子中,它解析为1.2.17.

我知道这并不能完全解决您的问题(我也很好奇),但希望它能为您提供一些信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gradle 依赖版本“+”符号 的相关文章

随机推荐