Ho appena migrato da Spring 3.0.5 a 3.1 GA. Ho riscontrato errori di runtime durante l'inizializzazione:Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError: NULL Errore
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
Ecco il mio xml.
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="MyPersistenceUnit" />
</bean>
A cosa serve questo java.lang.NoSuchFieldError: NULL
? Nessun problema con 3.0.5.
Sì, hai ragione. Io uso Spring Flex che si riferisce a tutte le versioni. Dopo che mi sarò assicurato che tutti i vasi Spring sono 3.1.0, l'errore è sparito. A proposito, come fai a sapere * java.lang.NoSuchFieldError: NULL * è un problema di versione non corrispondente? –
significa che una classe è stata compilata con il campo sul posto, ma in fase di esecuzione non lo trova – Bozho
Grazie, anche questo mi ha aiutato, ho avuto il problema dopo l'utilizzo di Spring 3.1.0. Uno sguardo nelle dipendenze di maven in netbeans 7.1 ha mostrato che la versione 3.0.6 di espressioni primaverili era lì! Forzare la dipendenza corretta aggiungendolo al file pom.xml ha risolto il problema. –