Spring 春季初学者-没有这样的领域错误

Spring 春季初学者-没有这样的领域错误,spring,Spring,我是春天的新手。我正在使用spring开发一个示例项目。当我在Beans.xml中提供值时,出现以下异常。请提供解决方案 Beans.xml: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/sch

我是春天的新手。我正在使用spring开发一个示例项目。当我在Beans.xml中提供值时,出现以下异常。请提供解决方案

Beans.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id="helloWorld" class="com.dhr.spring.beans.HelloWorld">
       <property  name="message"  value="d" />
   </bean>

</beans>
主应用程序:

 public class MainApp {
     public static void main(String[] args) {
          ApplicationContext context = 
                 new ClassPathXmlApplicationContext("Beans.xml");

          HelloWorld obj = (HelloWorld) context.getBean("helloWorld");

          obj.getMessage();
       }
}
例外情况:

Caused by: java.lang.NoSuchFieldError: NULL
    at org.springframework.expression.TypedValue.<clinit>(TypedValue.java:31)
    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)
    ... 11 more
原因:java.lang.NoSuchFieldError:NULL
位于org.springframework.expression.TypedValue。(TypedValue.java:31)
位于org.springframework.expression.spel.support.StandardEvaluationContext.setRootObject(StandardEvaluationContext.java:85)
位于org.springframework.expression.spel.support.StandardEvaluationContext。(StandardEvaluationContext.java:74)
位于org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:124)
位于org.springframework.beans.factory.support.AbstractBeanFactory.evaluateBeanDefinitionString(AbstractBeanFactory.java:1299)
位于org.springframework.beans.factory.support.BeanDefinitionValueResolver.evaluate(BeanDefinitionValueResolver.java:210)
在org.springframework.beans.factory.support.BeanDefinitionValueResolver.ResolveValueIfNeeded上(BeanDefinitionValueResolver.java:182)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
... 还有11个

欢迎您!献给春天的模糊世界!其中堆栈跟踪很长,文档很短,这很复杂

我已经多次看到这个错误,至少对我来说,它通常与依赖性不一致有关

我看到你刚刚发布你没有使用Maven。我几乎可以向你保证,这就是问题所在。你真的应该用Maven。它将为你节省大量的工作量

编辑:为了使这篇文章的答案更像:你得到的错误是由于依赖关系的不一致。您正在手动将SpringJAR文件放入您的依赖关系树中,这是不推荐的。 1)使用Maven处理依赖关系管理(推荐)或2)确保所有JAR文件都使用非冲突和一致的依赖关系树


例如,您使用的是
org.springframework.expression-3.0.3.RELEASE
,它不属于
3.1.x
组。因此,用
org.springframework.expression-3.1.0-RELEASE

替换jar文件可能是一种解决方案-您是如何将spring jar添加到类路径的?您是在eclipse中使用依赖项管理(比如maven)还是手动使用?我没有使用Mavan。手动添加到项目中。JAR是:org.springframework.asm-3.1.0.RELEASE、org.springframework.beans-3.1.0.RELEASE、org.springframework.context-3.1.0.RELEASE、org.springframework.core-3.1.0.RELEASE、org.springframework.expression-3.0.3.RELEASE、org.springframework.web.servlet-3.1.0.RELEASE、,org.springframework.web-3.1.0.release使用maven并添加对spring的依赖性这并不能回答这个问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论。@mohacs我已经更新了我的答案,我认为这是不言自明的。但我还是很欣赏这种情绪。
Caused by: java.lang.NoSuchFieldError: NULL
    at org.springframework.expression.TypedValue.<clinit>(TypedValue.java:31)
    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)
    ... 11 more