2010-08-18 14 views
5

मैं जेटी सर्वर पर "grails war" के साथ किए गए युद्ध को तैनात करता हूं।Grails असंगत क्लासChangeError

जहां तक ​​मैं निर्धारित कर सकता हूं, Grails सूर्य जेडीके 1.6.0_17-बी04 और जेट जेडीके 1.6.0.16 (लिनक्स पर दोनों) पर चलता है।

2010-08-18 07:33:47.018:WARN::Nested in org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException:  
java.lang.IncompatibleClassChangeError: the number of constructors during runtime and compile time for java.lang.ClassLoader do not match. Expected 3 but got 2: 
java.lang.IncompatibleClassChangeError: the number of constructors during runtime and compile time for java.lang.ClassLoader do not match. Expected 3 but got 2 
at grails.plugin.scopedproxy.AlwaysReloadableSmartClassLoader.<init>(AlwaysReloadableSmartClassLoader.groovy:28) 
at grails.plugin.scopedproxy.ScopedProxyUtils.wrapInSmartClassLoader(ScopedProxyUtils.groovy:154) 

इस समस्या को हल या डिबग किया जा सकता है?

उत्तर

11

चलाने से पहले grails clean चलाएं।

+0

स्वच्छ ने भी मेरी मदद की। यह मेरे मामले में एक संस्करण संघर्ष था। केवल डीबगिंग के दौरान हुआ। –

+0

जब भी मैंने इसे देखा है, मैंने इसे grails के माध्यम से भी ठीक कर दिया है –

0

आप शायद एक जार संघर्ष में भाग रहे हैं। अर्थात् आपका निर्माण पर्यावरण एक जार का उपयोग कर रहा है, और रनटाइम (जेट्टी) एक विवादित जार का उपयोग कर रहा है। यह अक्सर विभिन्न एक्सएमएल पार्सिंग स्टैक के साथ होता था।

जेटी द्वारा उपयोग किए जाने वाले जारों को देखने का प्रयास करें और उन्हें अपनी परियोजना में उन लोगों से तुलना करें।

3

another post के अनुसार, ग्रूवी कोड अपवाद 7 से पहले जावा का एक संस्करण के साथ संकलित किया गया था का उपयोग करता है here पाया जा सकता है जावा 7.

अधिक जानकारी के साथ संगत नहीं है।