2013-08-09 10 views
7

मैं गतिशील रूप से बीन बनाने के लिए एनोटेशन का उपयोग कर रहा हूं, मुझे निम्न त्रुटियां मिलती हैं।क्लास javaConfig का उपयोग नहीं मिला

package demoproject; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
@Configuration 
public class ProductFactory { 

    public ProductFactory() { 
     // TODO Auto-generated constructor stub 
    } 

    @Bean 
    public Product josh(){ 
     Product josh = new Battery(); 
     josh.setId("cdrw"); 
     josh.setPrice(100); 
     return josh; 
    } 
} 

web.xml

<!-- Bean for JavaConfig --> 
    <bean class='demoproject.ProductFactory' /> 
    <!-- be sure to include the JavaConfig bean post-processor --> 
    <bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/> 

त्रुटि लॉग

Exception in thread "main" org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.config.java.process.ConfigurationPostProcessor] for bean with name 'org.springframework.config.java.process.ConfigurationPostProcessor#0' defined in class path resource [web.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor 
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1275) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:575) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1344) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:910) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at demoproject.ProductCreater.main(ProductCreater.java:31) 
Caused by: java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    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 org.springframework.util.ClassUtils.forName(ClassUtils.java:260) 
    at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:416) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1296) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1267) 
    ... 9 more 

मुझे कैसे पता कर सकते हैं क्या जिसके कारण त्रुटि है, और वहाँ किसी भी ठीक है कि मैं इस के लिए कोशिश कर सकते हैं?

+0

गया यह मैं, वसंत बताया hadnt एनोटेशन के लिए देखने के लिए और स्कैन themy पैकेज –

उत्तर

0

आपके पास रनटाइम क्लासपाथ पर spring-core नहीं है। आपको अपने प्रोजेक्ट लेआउट के लिए उचित तकनीक का उपयोग करके इसे जोड़ना होगा, जैसे इसे साइमन सुझावों जैसे मैवेन पीओएम में जोड़कर।

+0

टिप्पणी निकाला गया है, क्योंकि यह काफी एक और सवाल के समान है और मैं समझता हूं कि वे उस पर फिर से काम एक सा वसंत ऋतु में 3. बेशक वह वसंत के पुराने संस्करण का उपयोग कर सकता है। –

+0

वह अभी भी एक्सएमएल-आधारित कॉन्फ़िगरेशन का उपयोग कर रहा है, इसलिए कोई बताना नहीं है। – chrylis

+0

यह वसंत 3.2 है। मैंने डुप्लिकेट प्रश्न में स्वीकृत स्वीकृत उत्तर के साथ प्रयास किया। अब मुझे "नो बीन नाम 'जोश' परिभाषित किया गया है" –

16
वसंत 3.0 से पर, आप org.springframework.config.java.process.ConfigurationPostProcessor की जरूरत नहीं है किसी भी अधिक, बस एक्सएमएल-config के भीतर एक सेम के रूप में जावा-config वर्ग को परिभाषित

<bean class="demoproject.ProductFactory" /> 

कोशिश हटाने

<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/> 
+0

मैं वसंत 3.2 का उपयोग कर रहा हूं। बीन जोश को परिभाषित करने में भी यही त्रुटि –

+0

परिभाषित नहीं है। जब तक मैं इस पोस्ट को नहीं देखता तब तक मुझे पुरानी जानकारी मिल गई। – tonga

+0

वसंत दस्तावेज़ीकरण पर यह क्यों अपडेट नहीं किया गया है – kaissun

संबंधित मुद्दे