java - Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError : NULL Error

标签 java spring jpa orm spring-orm

我刚刚将 Spring 3.0.5 迁移到 3.1 GA。我在初始化期间遇到了运行时错误:

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

这是我的 xml。

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

这个 java.lang.NoSuchFieldError: NULL 是关于什么的? 3.0.5 没有问题。

最佳答案

这意味着存在版本不匹配——很可能是 spring 类。所以确保你所有的 spring jar 都是 3.1.0。特别是 spring-expression。 (如果在修复 spring 后它不起作用,还升级您的 JPA 提供程序( hibernate ?))

关于java - Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError : NULL Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500708/

相关文章:

spring - 如何从多个路径制作 Spring 加载 JPA 类?

spring - 在哪里放置使用 UsernamePasswordAuthenticationFilter 的自定义后验证代码

java - HQL查询无法正常工作

java - getDefaultSharedPreferences 和 IntentService 崩溃

java - 将 2 个 txt 文件中的一些元素添加到第三个文件中

java - 阻止E4恢复 View

java - 无法从Spring Controller 中的http post正文读取参数

java - Android与PC Socket连接

java - JPA插入外键为空

java - persistence.xml 中的序列生成器