2012-10-10 26 views
5

में एप्लिकेशन संदर्भ बनाते समय अपवाद अपवाद मैं वसंत के साथ अभ्यास कर रहा हूं, और जब मैं संदर्भ को तुरंत चालू करने का प्रयास करता हूं तो java.lang.ExceptionInInitializer त्रुटि अपवाद प्राप्त कर रहा हूं। मेरे कोड के साथ, अपवाद नीचे दिखाई देता है। मैंने पहले से अपने प्रयोग को सरल बना दिया है।java.lang.ExceptionInInitializer स्प्रिंग

अपवाद

Oct 17, 2012 5:54:22 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh 
INFO: Refreshing org[email protected]570c16b7: startup date [Wed Oct 17 17:54:22 CDT 2012]; root of context hierarchy 
Exception in thread "main" java.lang.ExceptionInInitializerError 
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195) 
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128) 
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:535) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
at helloworld.HelloWorldTest.main(HelloWorldTest.java:13) 
Caused by: java.lang.NullPointerException 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:105) 
... 7 more 

मेरे विन्यास एक्सएमएल

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:c="http://www.springframework.org/schema/c" 
xmlns:p="http://www.springframework.org/schema/p" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> 

<bean id="messageContainer" class="helloworld.MessageContainer"> 
    <property name="message" value="Hello World"> 
    </property> 
</bean> 

<bean id="messageOutputService" class="helloworld.MessageOutputService"> 
</bean> 

मेरा परीक्षण वर्ग।

package helloworld; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 

public class HelloWorldTest { 

/** 
* @param args 
*/ 
public static void main(String[] args) 
{ 
    ApplicationContext context = new ClassPathXmlApplicationContext("HelloWorldTest-context.xml"); 

    MessageContainer message = context.getBean(MessageContainer.class); 

    MessageOutputService service = context.getBean(MessageOutputService.class); 

    service.outputMessageToConsole(message); 

} 

} 
+0

क्या आप सकारात्मक हैं कि आप क्लासपाथ पर सभी वसंत जारों के लिए एक ही संस्करण का उपयोग कर रहे हैं? –

+0

अपनी पोस्ट संपादित करें और _entire_ stacktrace शामिल करें। –

+0

@mattb मैं वसंत springspurce.org वेबसाइट पर जारी किए गए सबसे पुराने स्प्रिंग्स जार का उपयोग कर रहा हूं। – cyotee

उत्तर

4

लाइन 17 context.getBean("userRepository" लाइन के अनुरूप नहीं है, यह है कि जहां वसंत संदर्भ प्रारंभ से पहले लाइन से मेल खाती है। और वास्तव में आप यह भी देख सकते हैं कि स्टैकट्रैक के माध्यम से, यह कहता है कि यह ClassPathXmlApplicationContext के लाइन 83 पर विफल रहा जहां उस वर्ग के निर्माता मौजूद हैं।

वैसे भी, यह अपवाद आमतौर पर फेंक दिया जाता है जब वसंत किसी भी कारण से किसी भी बीन नहीं बना सकता है (रचनाकारों में अपवाद, resource loading issues, class loading issues, आदि)। मैं वसंत वर्गों के लिए लॉग स्तर को कम करने और अपने पुस्तकालयों के लिए नीचे क्या चल रहा है यह देखने का सुझाव दूंगा।

org.springframework=TRACE 
com.gamemanagertest=TRACE 
com.gamemanagertest=TRACE 

और यह भी, अपने संसाधन फ़ाइलों जाँच करें कि क्या वे अपने आवेदन और अपने सभी वस्तुओं के निर्माताओं द्वारा सुलभ हो अगर वे किसी भी त्रुटि का उत्पादन आदि

+0

मैं यह कहां कर सकता हूं? – cyotee

+0

मुझे लगता है कि आपके पास लॉगिंग फ्रेमवर्क स्थापित है, यह देखने के लिए उत्तर में दिए गए स्तरों के साथ इसे कॉन्फ़िगर करें कि क्या ब्रेक लग रहा है। – melihcelik

0

मैं एक ही मुद्दे का सामना करना पड़ रहा था। मैंने परियोजना से सभी वसंत जार हटा दिए। फिर फिर से उन सभी को एक प्रोजेक्ट फ़ोल्डर & में चिपकाया, जिससे वे सभी पथ बनाने के लिए जोड़े गए। और यह काम किया। यह सुनिश्चित नहीं हुआ कि यह कैसे हुआ ..