Java gradle处理依赖冲突时,“最高”是什么意思?

Java gradle处理依赖冲突时,“最高”是什么意思?,java,gradle,Java,Gradle,我知道gradle在默认情况下解决依赖冲突时会选择最高版本。但是最高的定义是什么呢 我有一个依赖项冲突问题,我运行了依赖项任务,发现这两个版本的相同依赖项冲突:AD-106715-1-SNAPSHOT和1.0.36。Gradle选择1.0.36版本 com.mycompany.service:ad-biz-jasper-contract:AD-106715-1-SNAPSHOT -> 1.0.36 但是为什么呢?1.0.36高于AD-106715-1-SNAPSHOT?但从词典学角度来看

我知道gradle在默认情况下解决依赖冲突时会选择最高版本。但是最高的定义是什么呢

我有一个依赖项冲突问题,我运行了
依赖项
任务,发现这两个版本的相同依赖项冲突:AD-106715-1-SNAPSHOT1.0.36。Gradle选择1.0.36版本

com.mycompany.service:ad-biz-jasper-contract:AD-106715-1-SNAPSHOT -> 1.0.36
但是为什么呢?1.0.36高于AD-106715-1-SNAPSHOT?但从词典学角度来看,后者更高。

因此,我想知道gradle如何定义哪个版本更高。

中描述了确切的规则,但简短的(有些过于简化)版本是:

  • 拆分版本
  • 对每个零件进行数字比较,除非:
    • 只有一个部分是数值的,然后考虑数值部分 更高
    • 这两部分都不是数字,然后按字母顺序排序,区分大小写
  • 然后还有一些规则和特殊情况,分别适用于
    dev
    rc
    final
    。。。当一个字符串比其他字符串有更多的部分,并且第一个字符串没有给出特定的顺序,但这些不适用于本例时,该怎么办