7

正在使用groovy-all-2.1.5.jar. 我将 Guice 添加到我的 Groovy 项目中,当我从 Eclipse 内部运行它们时,我在控制台输出中收到以下错误:

Caught: java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
    at net.me.myapp.utils.restclient.RestClient.<init>(RestClient.groovy:57)
    at net.me.myapp.inject.UserServiceClientModule.configure(UserServiceClientModule.groovy:34)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    at com.google.inject.spi.Elements.getElements(Elements.java:101)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:72)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at net.me.myapp.UserServiceClient.<init>(UserServiceClient.groovy:37)
    at net.me.myapp.UserServiceClient.main(UserServiceClient.groovy:45)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
    ... 12 more

根据这个答案,这是因为ShortTypeHandling直到 2.3.x 才添加。所以我现在想附加groovy-all-2.3.3.jar到我的 Eclipse 项目的类路径。

问题是我似乎没有编辑权限来更改库在Groovy Libraries后台使用的库。当我手动将 2.3.3 JAR 添加到我的构建路径时,我收到以下错误:

Caught: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.1.5 and you are trying to load version 2.3.3

我有哪些选择?

4

1 回答 1

6

Groovy-eclipse 版本有自己的编译器并且被“锁定”到它们。您可以将版本更改为 Window > Preferences > Groovy > Compilers 下列出的任何版本,但是,AFAIK,您不能通过简单地更改groovy-all插件目录中的 jar 来更改为编译器的任意版本。

groovy-eclipse 编译器版本变更

您可以使用更新站点或 eclipse 市场安装新的编译器版本


更新:通过 Help > Install new Software 安装额外的编译器版本,选择 Groovy 更新站点并展开Extra Groovy Compilers会话:

在此处输入图像描述

注意我正在使用快照更新站点,因为我喜欢危险地生活

于 2014-09-25T20:11:31.110 回答