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

在我的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>
上一篇:java – 如何通过在gradle命令行上传递version属性来设置project.version?


下一篇:使用Java ScriptEngine(Groovy),如何使其更高效?