Acabo de migrar Spring 3.0.5 a 3.1 GA. Me enfrenté al error de tiempo de ejecución durante la inicialización:Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError: NULL Error
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
Aquí está mi xml.
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="MyPersistenceUnit" />
</bean>
¿Qué es esto de java.lang.NoSuchFieldError: NULL
acerca de? No tiene problemas con 3.0.5.
Sí, tiene usted razón. Yo uso Spring Flex, que se refiere a todas las versiones. Después de asegurarme de que todos los frascos de primavera son 3.1.0, el error desapareció. Por cierto, ¿cómo sabes que * java.lang.NoSuchFieldError: NULL * es un problema de desajuste de versión? –
significa que se compiló una clase con el campo en su lugar, pero en el tiempo de ejecución no lo encuentra – Bozho
Gracias, eso también me ayudó, tuve el problema después de usar Spring 3.1.0. Una mirada a las dependencias de maven en netbeans 7.1 mostró que la expresión de primavera versión 3.0.6 estaba allí. Forzar la dependencia correcta al agregarlo al archivo pom.xml resolvió el problema. –