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

Swa*_*wal 3 java eclipse groovy maven

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

groovy.lang.GroovyRuntimeException:冲突的模块版本.模块[groovy-all在版本2.3.7中加载,您尝试加载版本2.3.10

所以,为了匹配我给我留下的两个选项:

  • 降级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.

PS我为我的项目设置了groovy编译器级别为2.3.而且,我在Luna,Kepler,Juno eclipse面临同样的问题.

小智 5

您可以"降级"Spock依赖项.只需在您的Spock依赖项中添加"groovy-all"的排除.然后显式添加对groovy-all 2.3.7的依赖

排除可以添加如下:

<dependency>
    ...
    <exclusions>
        <exclusion>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
        </exclusion>
    </exclusions>
    ...
</dependency>
Run Code Online (Sandbox Code Playgroud)