2011-06-07 15 views
13

जब मैं कमांड का उपयोग करता हूं: mvn test, maven src/test/संसाधनों में परीक्षण वाले लोगों के बजाय मुख्य संसाधनों का उपयोग करता है।मैवेन टेस्ट संसाधनों का उपयोग कैसे करें

मैवेन मुख्य संसाधनों के बजाय परीक्षण संसाधनों का उपयोग कैसे कर सकता हूं?

संपादित करें: मैं अपने संसाधन खोजने के लिए क्लासलोडर का उपयोग करता हूं। क्लासलोडर मेरे स्रोत/परीक्षण/संसाधन निर्देशिका से संसाधन पा सकता है, लेकिन यह संसाधन के लिए पहले src/main/java में दिखता है।

ClassLoader loader = Thread.currentThread().getContextClassLoader(); 
InputStream file =loader.getResourceAsStream("resource.xml"); 

या वहां किसी भी संपत्ति एक Maven आदेश है कि एक classpath को प्राथमिकता देंगे चलाते समय मैं उपयोग कर सकते हैं?

संपादित 2: मैंने समस्या का पता लगाया है, यह परीक्षण के लिए परीक्षण/संसाधनों से लोड होता है, हालांकि मेरे परीक्षण में वेबपैप (एकीकरण परीक्षण) तैनाती है और वहां से जब वेबपैप संसाधन तक पहुंचता है तो यह src/main का उपयोग करता है/संसाधनों। क्या क्लासपाथ के क्रम को बदलने का कोई तरीका है या एक जेटी कंटेनर में तैनात एक डब्ल्यूएआर के लिए दूसरे को बना सकता है?

+2

कृपया एक ही प्रश्न फिर से न पूछें, अपने मौजूदा प्रश्न को किसी भी प्रासंगिक अपडेट के साथ संपादित करें जिसके बजाय आपका प्रश्न एक टक्कर देगा। धन्यवाद। – Kev

उत्तर

4

क्या आप इसे दूसरा नाम नहीं दे सकते?
लोडर को पता नहीं है कि आपका resource.xmlsrc/main/resources या src/test/resources में है, यह देखने के लिए केवल एक रास्ता है। मुझे लगता है कि यह समस्या मैवेन नहीं है, इस प्रकार लोडर को यह करना चाहिए और यह काम करता है। मेवेन से आप परीक्षा चरण करते समय src/main/resources से सभी कक्षाओं/संसाधनों को त्यागने की उम्मीद करेंगे?

+0

या, क्या यह संभव है? – Sujen

+0

पता नहीं है। हो सकता है कि आप निश्चित रूप से कॉन्फ़िगर कर सकते हैं या संसाधन को अपने टेस्ट क्लास में मैन्युअल रूप से लोड कर सकते हैं। –

+1

मैंने समस्या का पता लगाया है, यह परीक्षण के लिए परीक्षण/संसाधनों से लोड होता है, हालांकि मेरे परीक्षण में वेबपैप (एकीकरण परीक्षण) को तैनात करना शामिल है और वहां से जब वेबपैस संसाधन का उपयोग करता है तो यह src/main/संसाधनों का उपयोग करता है। क्या क्लासपाथ के क्रम को बदलने का कोई तरीका है या एक जेटी कंटेनर में तैनात एक डब्ल्यूएआर के लिए दूसरे को बना सकता है? मैं अपना प्रश्न अपडेट करूंगा – Sujen

6

resource.xml के लिए निर्देशिका की जांच करें अपने लक्ष्य/परीक्षण वर्गों। आपकी फ़ाइल यहां होना चाहिए। अगर आपको यह फ़ाइल मिलती है, तो मुझे लगता है कि वही नाम समस्या है। उदाहरण के लिए फ़ाइल का नाम बदलें test-resource.xml। यदि फ़ाइल परीक्षण-वर्ग निर्देशिका में मौजूद नहीं है, तो आपको maven pom.xml में संसाधन प्रबंधन को कॉन्फ़िगर करना चाहिए। maven-resouce-plugin का प्रयोग करें। उम्मीद है कि यह मदद करता है।

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