2012-06-22 63 views
0

我第一次尝试使用spring(3.1.0)项目,但它给了我运行时错误。我添加了log4j,但仍然出现错误,并且org.springframework.beans.factory.xml.XmlBeanFactory也被弃用。 请帮我Spring项目出现异常

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.<init>(DefaultSingletonBeanRegistry.java:83) 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.<init>(FactoryBeanRegistrySupport.java:43) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.<init>(AbstractBeanFactory.java:175) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:157) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:168) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.<init>(DefaultListableBeanFactory.java:158) 
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:77) 
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:66) 
    at com.vehicle.SpringDemoApp.main(SpringDemoApp.java:21) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 
    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) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
    ... 9 more<br/> 

这是我得到

+6

您可以发布详细的异常和相关的代码? – nhahtdh

+1

你能编辑你的问题吗? – nhahtdh

回答

1

您需要Apache共享记录在classpath。 Log4j不是通用日志记录。

+0

谢谢,我纠正了我的项目,但现在没有任何输出。为什么org.springframework.beans.factory.xml.XmlBeanFactory已被弃用? –

+0

javadoc说:从Spring 3.1开始支持DefaultListableBeanFactory和XmlBeanDefinitionReader –

0

登录罐子可检查类是在开源(OSS)库here

如果您正在使用Maven,你可以尝试添加以下依赖:

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.1.1</version> 
    <classifier>api</classifier> 
</dependency>