2011-12-14 16 views
35

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.

Respuesta

55

Esto significa que hay una versión no coincidente, muy probablemente con clases de primavera. Así que asegúrese de que todos sus frascos de primavera sean 3.1.0. Especialmente spring-expression. (También actualice su proveedor de JPA (¿hibernar?) Si no funciona después de reparar el muelle)

+2

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? –

+4

significa que se compiló una clase con el campo en su lugar, pero en el tiempo de ejecución no lo encuentra – Bozho

+3

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. –

1

Puede ser de ayuda. Upgrading from Spring 3.0.3.RELEASE results in: java.lang.NoSuchFieldError: USER_DECLARED_METHODS

Anteriormente he tenido como esto

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

Luego añadí

<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> 
Cuestiones relacionadas