Właśnie dokonałem migracji Spring 3.0.5 do 3.1 GA. Wystąpił błąd wykonania podczas inicjalizacji:Wiosna 3.1 entityManagerFactory java.lang.NoSuchFieldError: Błąd NULL
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
Oto mój xml.
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="MyPersistenceUnit" />
</bean>
O czym jest ta java.lang.NoSuchFieldError: NULL
? Nie ma problemu z 3.0.5.
Tak, masz rację. Używam Spring Flex, który odnosi się do wszystkich wersji. Po upewnieniu się, że wszystkie słoiki wiosenne mają wartość 3.1.0, błąd zniknął. BTW, jak wiesz * java.lang.NoSuchFieldError: NULL * jest problem z niezgodnością wersji? –
oznacza to, że klasa została skompilowana z polem w miejscu, ale w czasie wykonywania go nie znajduje – Bozho
Dzięki, że pomógł mi też, miałem problem po użyciu Spring 3.1.0. Spojrzenie w zależności od maven w netbeans 7.1 pokazało, że była tam wersja ekspresowa w wersji 3.0.6! Wymuszenie poprawnej zależności przez dodanie jej do pliku pom.xml rozwiązało problem. –