在我的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: Conflicting module versions. Module [groovy-all is loaded in version 2.3.7 and you are trying to load version 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.
附:我为我的项目设置了groovy编译器级别为2.3.而且,我在Luna,Kepler,Juno eclipse面临同样的问题.
解决方法:
您可以“降级”Spock依赖项.只需在您的Spock依赖项中添加“groovy-all”的排除.然后显式添加对groovy-all 2.3.7的依赖
排除可以添加为follows:
<dependency>
...
<exclusions>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
</exclusion>
</exclusions>
...
</dependency>