5

मैं Eclipse-Groovy प्लगइन का नवीनतम संस्करण (2.8.0) का उपयोग कर रहा हूं जो groovy-all-2.1.5.jar के साथ जहाजों का जहाज़ है। मैं अपने ग्रूवी परियोजना के लिए Guice जोड़ा, और मैं सांत्वना उत्पादन में निम्नलिखित त्रुटि मिलती है जब मैं उन्हें ग्रहण अंदर से चलाने के लिए जाना: क्योंकि ShortTypeHandling 2.3.x. तक नहीं जोड़ा गया हैएक्लिप्स-ग्रोवी प्लगइन ग्रोवी लाइब्रेरीज़ को कैसे बदलें?

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 

अनुसार this answer को यह तो अब मैं अपने ग्रहण परियोजना के क्लासपाथ में groovy-all-2.3.3.jar संलग्न करना चाहता हूं।

समस्या यह है कि मुझे लगता है कि Groovy Libraries लाइब्रेरी हुड के तहत लाइब्रेरी का उपयोग करने वाली लाइब्रेरी को बदलने के लिए संपादन अनुमतियां प्रतीत नहीं होती हैं।

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 

मेरे पास क्या विकल्प हैं: और जब मैं मैन्युअल रूप से अपने निर्माण पथ के लिए 2.3.3 जार जोड़ने के लिए, मैं निम्नलिखित त्रुटि मिलती है?

उत्तर

6

ग्रोवी-ग्रहण संस्करणों के अपने स्वयं के कंपाइलर and are "locked" to them हैं। आप विंडो> वरीयताओं> ग्रोवी> कंपाइलर्स के तहत जो कुछ भी सूचीबद्ध हैं, संस्करणों को बदल सकते हैं, लेकिन, AFAIK, आप प्लगइन डीआईआर के गले में groovy-all जार को बदलकर कंपाइलर के मनमाने ढंग से संस्करण में नहीं बदल सकते हैं।

groovy-eclipse compiler version change

आप update site का उपयोग कर नए संकलक संस्करणों को स्थापित करने या बाजार ग्रहण कर सकते हैं


अद्यतन: सहायता के माध्यम से अतिरिक्त संकलक संस्करणों को स्थापित> नया सॉफ्टवेयर इंस्टाल, ग्रूवी अद्यतन साइट चुनें और विस्तार Extra Groovy Compilers सत्र:

enter image description here

नोट मैं स्नैपशॉट अपडेट साइट का उपयोग कर रहा हूं, क्योंकि मैं like to live dangerously

+3

धन्यवाद @Will पी (+1) - मुझे लगता है कि आपको यहां समाधान मिल गया होगा, हालांकि मेरे ग्रहण में, मुझे "* 2.3.3.xx पर स्विच करें ... *" बटन/विकल्प नहीं है । मेरे पास केवल 1.8.7 और 2.0.7 के लिए बटन हैं, जो मेरी मदद नहीं करते हैं क्योंकि 'ShortTypeHandling' को 2.3.x तक पेश नहीं किया गया था। ** क्या आप जानते हैं कि मैं अपने * ग्रोवी कंपाइलर सेटिंग्स * विकल्पों में और संस्करण कैसे जोड़ सकता हूं? ** धन्यवाद! – smeeb

+0

@ सेमेब मेरे पास एक ही समस्या है। मैंने 2.4 फीचर स्थापित किया है लेकिन मेरी प्राथमिकताओं में इसे स्विच करने के लिए कोई बटन नहीं है। क्या आपने कभी इसे हल किया है? धन्यवाद। – Chris

+0

दरअसल, मुझे एक ऐसा उत्तर मिला जो मेरे लिए काम करता है: eclipse.ini फ़ाइल में जोड़ें। @ लारी होटारी के लिए धन्यवाद (https://stackoverflow.com/questions/21413003/groovy-compiler-mismatch-after-installation देखें)। – Chris

संबंधित मुद्दे