java - eclipse 插件中存在的 'groovy-all' jar 与 maven 依赖项之间的兼容性问题

标签 java eclipse maven groovy

在我的 POM 中,有一个依赖项:spock-core 1.0-groovy-2.3,它将 groovy-all 2.3.10 添加到我的项目中。而且,我的 eclipse groovy 插件包含 groovy-all 2.3.7 jar。因此,每当我尝试运行我的 groovy 规范文件时,都会抛出以下错误:

groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.3.7 and you are trying to load version 2.3.10

所以,为了匹配 jar ,我有两个选择:

  • 降级spock-core依赖的版本
  • 将 eclipse 插件 groovy-all jar 升级到 2.3.10

第一个选项是不可能的,因为没有这样的 spock-core 依赖项可以为我提供 groovy-all 2.3.7 jar。所以,请指导我如何将我的 groovy eclipse 插件从 2.3.7 升级到 2.3.10。

P.S. 我已经为我的项目将 groovy 编译器级别设置为 2.3。而且,我在 Luna、Kepler、Juno eclipse 上面临同样的问题。

最佳答案

您可以“降级”Spock 依赖项。只需将“groovy-all”排除项添加到您的 Spock 依赖项中即可。然后显式添加对 groovy-all 2.3.7 的依赖

排除可以添加为 follows :

<dependency>
    ...
    <exclusions>
        <exclusion>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
        </exclusion>
    </exclusions>
    ...
</dependency>

关于java - eclipse 插件中存在的 'groovy-all' jar 与 maven 依赖项之间的兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29116091/

相关文章:

java - 线程安全地循环通过 ConcurrentHashMap,无阻塞

java - Sphinx查询从mysql转换

每次启动环境时,Eclipse 都会覆盖我的 web.xml

eclipse - org.springframework.web.SpringServletContainerInitializer 无法转换为 javax.servlet.ServletContainerInitializer -- Eclipse Spring 项目

java - Flyway 数据库迁移到多个模式

JAVA-如何动态地将字符串值分配给字符串数组

java - 通过交叉连接进行 UDP 广播

java - JAutodoc - 添加方法参数的数据类型

java - IntelliJ idea 图形用户界面设计器 + maven

maven - 使用 Maven 命令行以编程方式运行 TestNG