获取java.lang.NoClassDefFoundError:org / springframework / core / env / DefaultEnvironment

时间:2014-06-05 08:55:03

标签: java spring

我刚开始学习Spring.I正在尝试构造函数注入但是出错了。

代码:

HelloWorld.java

package com.SpringIocTest.June5;
public class HelloWorld {

    private  String message ;
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public HelloWorld(String message) {
        super();
        this.message = message;
    }
}

Start.java

package com.SpringIocTest.June5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Start {
    public static void main(String[] args) {

        ApplicationContext context = new ClassPathXmlApplicationContext(
            "Bean.xml");
        HelloWorld hw = (HelloWorld) context.getBean("hello");

        System.out.println("Message" + hw.getMessage());

    }
}

Bean.xml

<?xml version="1.0" encoding="UTF-8"?>

<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="hello" class="com.SpringIocTest.June5.HelloWorld">
        <constructor-arg>
            <value>Welcome to Spring IoC!!!</value>
        </constructor-arg>
    </bean>
</beans>

当我尝试运行此代码时出现以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/DefaultEnvironment
    at org.springframework.context.support.AbstractApplicationContext.createEnvironment(AbstractApplicationContext.java:418)
    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:227)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:90)
    at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
    at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.SpringIocTest.June5.Start.main(Start.java:15)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.DefaultEnvironment
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

我指的是this教程。我已经添加了所有提到的罐子。请让我知道我想念的是什么?

1 个答案:

答案 0 :(得分:1)

使用此

  <constructor-arg type="java.lang.String" value="Zara"/>

使用String时需要类型定义。