首页 > 解决方案 > groovy-macro 在 2.5.8 版本中加载,您正在尝试加载 2.5.12 版本

问题描述

我正在使用带有 Groovy 编译器 2.5 和 Spock 2.0-M2 的插件的 Eclipse 4.13 版本 4.0.0。

我们正在使用 Gradle 来管理我们的依赖项。最近我们将我们的 Groovy 库更新到 2.5.12,从那时起执行 Spock 测试时,我们收到以下错误:

groovy-macro 在 2.5.8 版本中加载,您正在尝试加载 2.5.12 版本

似乎 Spock 正在获取可传递的 2.5.8 版本。我正在考虑避免 Spock 获取 2.5.8,但只是手动修改执行 Spock 测试的项目的类路径并确保所有 Groovy 库都是 2.5.12 版本似乎没有帮助,因为我得到了相同的错误。

标签: gradletomcatgroovyspock

解决方案


我对 maven 项目、gmaven 插件和 spock 1.3 也有同样的问题。

我使用 maven 依赖管理并导入groovy-bom来解决版本冲突,但这无济于事。

您必须使用与 spock 所依赖的完全相同的 groovy 版本。

对于 spock 2.0-M2,gradle.build说:

 if (variant == 2.5) {
      groovyVersion = "2.5.8"
      minGroovyVersion = "2.5.0"
      maxGroovyVersion = "2.9.99"
    } else if (variant == 3.0) {
      groovyVersion = "3.0.0"
      minGroovyVersion = "3.0.0"
      maxGroovyVersion = "3.9.99"
    } else {
    throw new InvalidUserDataException("Unknown variant: $variant. Choose one of: $variants")
  }

尽管打印了正确的版本,但我不知道为什么groovy-macro要加载另一个。mvn dependency:treegroovy-macro


推荐阅读