2011-12-14 9 views
35

मैंने बस वसंत 3.0.5 से 3.1 जीए माइग्रेट किया है। मुझे प्रारंभिकरण के दौरान रनटाइम त्रुटि का सामना करना पड़ा:वसंत 3.1 इकाई प्रबंधक गैलरी java.lang.No.SuchFieldError: पूर्ण त्रुटि

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring/infrastructure-config.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL 
... 
Caused by: java.lang.NoSuchFieldError: NULL 
    at org.springframework.expression.TypedValue.<clinit>(TypedValue.java:32) 
    at org.springframework.expression.spel.support.StandardEvaluationContext.setRootObject(StandardEvaluationContext.java:85) 
    at org.springframework.expression.spel.support.StandardEvaluationContext.<init>(StandardEvaluationContext.java:74) 
    at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:124) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.evaluateBeanDefinitionString(AbstractBeanFactory.java:1299) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.evaluate(BeanDefinitionValueResolver.java:210) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:182) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    ... 39 more 

यहां मेरा एक्सएमएल है।

<bean id="entityManagerFactory" 
    class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> 
    <property name="persistenceUnitName" value="MyPersistenceUnit" /> 
    </bean> 

यह java.lang.NoSuchFieldError: NULL क्या है? 3.0.5 के साथ कोई समस्या नहीं है।

उत्तर

55

इसका मतलब है कि एक संस्करण मेल नहीं है - वसंत वर्गों के साथ सबसे अधिक संभावना है। तो सुनिश्चित करें कि आपके सभी वसंत जार 3.1.0 हैं। खासकर spring-expression। (अगर यह वसंत फिक्सिंग के बाद काम नहीं करता है तो अपने जेपीए प्रदाता (हाइबरनेट?) को अपग्रेड करें)

+2

जोड़ा हाँ, आप सही हैं। मैं स्प्रिंग फ्लेक्स का उपयोग करता हूं जो सभी संस्करणों को संदर्भित करता है। यह सुनिश्चित करने के बाद कि सभी वसंत जार 3.1.0 हैं, त्रुटि समाप्त हो गई है। बीटीडब्लू, आप कैसे जानते हैं * java.lang.No.SuchFieldError: NULL * संस्करण विसंगति मुद्दा है? –

+4

इसका मतलब है कि कक्षा को फ़ील्ड के साथ संकलित किया गया था, लेकिन रनटाइम पर इसे – Bozho

+3

धन्यवाद नहीं मिला, जिसने मुझे भी मदद की, मुझे स्प्रिंग 3.1.0 का उपयोग करने में समस्या थी। नेटबीन्स 7.1 में मेवेन निर्भरताओं में एक नज़र से पता चला है कि वसंत-अभिव्यक्ति संस्करण 3.0.6 वहां था! इसे pom.xml फ़ाइल में जोड़कर सही निर्भरता को मजबूर करना समस्या हल हो गया। –

1

यह आपकी मदद कर सकता है। Upgrading from Spring 3.0.3.RELEASE results in: java.lang.NoSuchFieldError: USER_DECLARED_METHODS

इससे पहले मैं इस

<dependencies> 
<!-- Spring 3 dependencies --> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>3.1.2.RELEASE</version> 
</dependency> 
... 
</dependencies> 

की तरह था तो मैं

<dependencies> 
<!-- Spring 3 dependencies --> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>3.1.2.RELEASE</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
... 

</dependencies> 
संबंधित मुद्दे