7

に同梱されているEclipse-Groovyプラグインの最新バージョン (2.8.0) を使用していgroovy-all-2.1.5.jarます。Groovy プロジェクトに Guice を追加しました。Eclipse 内から Guice を実行しようとすると、コンソール出力に次のエラーが表示されます。

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

この回答によると、 ShortTypeHandling2.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