Groovy v2.5.4的INDY版本在哪里?

时间:2019-02-18 22:35:39

标签: gradle groovy

当我将Gradle v5.2与Groovy v2.5.4捆绑在一起时,我的构建中断了,因为我转移到Gradle 5。这些项目使用dynamic support构建的Groovy。

JCenter或MavenCentral都无法解析此文件。但是我确实在这里找到了副本:

我不确定Gradle如何“解析”此文件并实际找到它。

  1. 谁能告诉我我应该从这个JAR文件中获取文件吗?

    • 我正在使用坐标:“ org.codehaus.groovy:groovy-all:2.5.4:indy
    • 那仍然是正确的表达吗?
  2. 这是一个错误还是我只是在错误的位置查找(请参阅#1)?

    • build.gradle是我在使用jcenter(),并尝试将其更改为mavenCentral()
    • 有问题的JAR都没有。

最后一个麻烦是我们运行了Nexus实例。有什么方法可以迫使Nexus走出去寻找这个JAR吗?

1 个答案:

答案 0 :(得分:1)

这不是完全结论,但是似乎-indy jar在2.5.0之前的常规版本中存在,因为这些版本支持1.7之前的Java版本。

印地坛在那里,因此您可以有选择地启用对Java 1.7中引入的invokedynamic指令的支持,同时仍支持1.7之前的Java版本,其中不包含invokedynamic(groovy docs for indy)。

似乎groovy 2.5达到了最低的jdk要求,引用:

  

JDK需求变更   Groovy 2.5需要JDK8 +来构建,而JDK7是我们支持的JRE的最低版本。

(来自http://groovy-lang.org/releasenotes/groovy-2.5.html

这将使支持调用动态和没有不必要的全部双重性成为可能。

所以我的猜测是,他们只是转储了indy jar,并始终在常规groovy jar文件集中包含invokedynamic指令,因为所需的jdk版本将始终包含该指令。