2010-06-04 18 views
11

मेरे पास एक मैवेन प्रोजेक्ट है जो xslt फ़ाइल लोड करता है और परिणामस्वरूप अन्य प्रसंस्करण के साथ रूपांतरण निष्पादित करता है। आम तौर पर जब उपयोगकर्ता एप्लिकेशन चलाता है, तो उपयोगकर्ता लोड होने के लिए xslt फ़ाइल पथ प्रदान करता है। लेकिन मैं अपने एप्लिकेशन के अंदर बंडल की गई कुछ डिफ़ॉल्ट xslt फ़ाइलों को शामिल करता हूं जो उपयोगकर्ता बाहरी xslt फ़ाइल को लोड किए बिना उपयोग कर सकते हैं। मैं इसे src/main/resource/xslt में जोड़कर करता हूं। मेरी समस्या यह है कि मैं परीक्षण चरण में उन xslt फ़ाइलों के खिलाफ परीक्षण चलाने के लिए चाहता हूँ। इसे कैसे प्राप्त किया जा सकता है? क्या मुझे src/main/resource/xslt सामग्री को लक्ष्य/कहीं और कॉपी करना चाहिए और इन्हें मेरे टेस्ट क्लास कोड में लोड करना चाहिए? इसके लिए कौन सी प्लगइन का उपयोग किया जाता है?मैवेन संसाधनों का उपयोग परीक्षण संसाधनों के रूप में भी करें

उत्तर

17

मेरी समस्या यह है कि मैं परीक्षण चरण में उन xslt फ़ाइलों के खिलाफ परीक्षण चलाने के लिए चाहता हूं। इसे कैसे प्राप्त किया जा सकता है?

ऐसा करने के लिए कुछ भी नहीं है, target/classes परीक्षण के वर्ग पथ पर है। दरअसल, परीक्षण के लिए वर्ग पथ है:

  • पहले target/test-classes
  • तो target/classes
  • तो dependencies

तो src/main/resources से संसाधनों (target/classes में नकल कर रहे हैं जो) परीक्षण से दिखाई दे रहे हैं।

+0

हाँ .. प्रश्न पोस्ट करने के बाद मैंने स्पष्ट रूप से ऐसा करने की कोशिश की और यह काम करता है। मैं बस इस धारणा के तहत था कि यह एक सम्मेलन है कि src/* केवल पीढ़ी, प्रसंस्करण और संकलन के लिए है और उसके बाद के किसी भी चरण को केवल अपने कार्य करने के लिए लक्ष्य/* पथों को देखना चाहिए। क्या यह सच नहीं है? – Paralife

+0

@ पैरालाइफ आपके संसाधनों को 'लक्ष्य/कक्षाओं' में कॉपी किया गया है (और परीक्षण संसाधनों को 'लक्ष्य/परीक्षण-वर्ग' में कॉपी किया गया है)। मैंने इसे स्पष्ट किया है। क्या यह सवाल का जवाब देता है? –

+0

आह ठीक है। मुझे समझ में नहीं आया कि उनकी प्रतिलिपि बनाई गई है। मैं बस उस स्रोत/मुख्य/संसाधन सीधे परीक्षण से दिखाई देता है। मुझे अब दिख रहा है। धन्यवाद। – Paralife

2

आप src/test/resources/ के अंदर एक फ़ाइल foo.txt डाल, तो आप के माध्यम से इस खोल सकते हैं:

// try-with-resource (Java 1.7) 
try (InputStream is = getClass().getClassLoader().getResourceAsStream("foo.txt")) { 
    // do something with is... 
} 

तुम भी maven-resources-plugin पर एक नज़र ले जा सकते हैं।

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