2012-06-22 61 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>