2012-08-31 16 views
6

जावा-स्प्रिंग में मॉड्यूल आधारित प्रोजेक्ट है, मेरे पास डीएओ परत और व्यापार परत के लिए मॉड्यूल के लिए मॉड्यूल है जो डीएओ परत और वेब परत पर निर्भर है जो डीएओ परत और व्यापार परत पर निर्भर है।जावा - जार फ़ाइल के लिए स्प्रिंग प्रॉपर्टी फ़ाइल कॉन्फ़िगरेशन

मैं प्रोजेक्ट संकलन के लिए मेवेन का उपयोग कर रहा हूं। और प्रत्येक घटक के जार वेब प्रोजेक्ट्स lib फ़ोल्डर के तहत समूह हैं।

समस्या यह है कि मेरे पास वसंत संदर्भ फ़ाइल है और डीएओ जार के अंदर प्रॉपर्टी फ़ाइल है और मेरा कॉन्फ़िगरेशन है, लेकिन मैं प्रॉपर्टी लोड करने में असमर्थ हूं, मैंने value="classpath:abc.properties को उपसर्ग करने का भी प्रयास किया लेकिन यह काम नहीं किया।

जब मैं डीएओ जार दोनों वसंत संदर्भ खोलता हूं और .properties फ़ाइलें रूट पर हैं।

<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location" value="abc.properties" /> 
    </bean> 

<bean id="cmfModelDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
     <property name="url" value="${jdbc.ConnectionUrl}"/> 
     <property name="username" value="${jdbc.Username}"/> 
     <property name="password" value="${jdbc.Password}"/> 
    </bean> 

किसी भी विचार कैसे जल्दी इस समस्या को हल करने के लिए?

xmlns:context="http://www.springframework.org/schema/context"; 

फ़ोल्डर env:

<context:property-placeholder location="classpath:env/env.properties" /> 

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="${env.datasource.driver}" /> 
    <property name="url" value="${env.datasource.url}" /> 
    <property name="username" value="${env.datasource.username}" /> 
    <property name="password" value="${env.datasource.password}" /> 
</bean> 

डॉन 'टी xml फ़ाइल में नाम स्थान यूआरएल सत्यापित करने के लिए भूल जाते हैं:

+0

क्या आपने 'क्लासपाथ *: abc.properties'' की कोशिश की है? –

+0

उपर्युक्त टिप्पणी का समर्थन करने के लिए: http://stackoverflow.com/questions/3294423/spring-classpath-prefix-difference –

+0

हाँ लेकिन काम नहीं किया –

उत्तर

1

मैं निम्नलिखित कोड का उपयोग कर स्प्रिंग के साथ एक बहु मॉड्यूल वेब परियोजना है कक्षा में होना चाहिए, इसलिए वसंत इसे पा सकता है। मेरी गुण फ़ाइल एक जार के अंदर भी है, और यह ठीक काम कर रही है।

0

मुझे उस त्रुटि और int को संदर्भ को शुरू करने के तरीके से करना पड़ सकता है, उदाहरण के लिए मेरे वेब ऐप में समस्या वेब.एक्सएमएल फ़ाइल में फ़िल्टर के साथ कुछ परेशान थी। इसके अलावा, मैं एक xml फ़ाइल लेकिन एक एनोटेट कॉन्फ़िग क्लास नहीं का उपयोग कर अंत और web.xml में यह रखा:

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<context-param> 
    <param-name>contextClass</param-name> 
    <param-value> 
     org.springframework.web.context.support.AnnotationConfigWebApplicationContext 
    </param-value> 
</context-param> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>com.myapp.configuration.SpringConfig</param-value> 
</context-param> 

तुम सच में एक xml फ़ाइल का उपयोग करने के आप एक XmlWebApplicationContext के लिए AnnotationConfigWebApplicationContext में परिवर्तन करना होगा चाहते हैं। आपको हमें बताएं कि आप अपने संदर्भ को कैसे निष्क्रिय कर रहे हैं (जैसे कोड या web.xml अगर यह आपकी समस्या का समाधान नहीं करता है)

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