2011-04-12 16 views
26

मेरे पास \ src \ main \ resource \ logback.xml फ़ाइल है। जब मैं mvn package चलाता हूं तो इसे डिफ़ॉल्ट रूप से जार में रखा जाता है। मैं मैवन को जार के बगल में कैसे रखूं, अंदर नहीं?मेवेन: जार के साथ संसाधन फ़ाइल को कैसे रखा जाए?

तो, ठीक है, मैं सिर्फ मैवेन को उसी फ़ोल्डर में संसाधन की प्रतिलिपि बनाना चाहता हूं जहां जार होगा।

उत्तर

61

कोई प्लगइन परिभाषाओं की जरूरत है, सिर्फ निर्माण संसाधनों को संपादित:

<build> 
    <resources> 
     <!-- regular resource processsing for everything except logback.xml --> 
     <resource> 
      <directory>src/main/resources</directory> 
      <excludes> 
       <exclude>logback.xml</exclude> 
      </excludes> 
     </resource> 
     <!-- resource processsing with a different output directory 
      for logback.xml --> 
     <resource> 
      <directory>src/main/resources</directory> 
      <includes> 
       <include>logback.xml</include> 
      </includes> 
      <!-- relative to target/classes 
       i.e. ${project.build.outputDirectory} --> 
      <targetPath>..</targetPath> 
     </resource> 
    </resources> 
</build> 

संदर्भ:

+0

संसाधनों की प्रतिलिपि किस चरण में की जा रही है? मेरे मामले में मैं 'मेन'-निर्भरता प्लगइन का उपयोग 'युद्ध' फ़ाइल को निर्भर परियोजना में कॉपी करने के लिए करता हूं - वहां से मैं इसे अंतिम '.jar' में लोड करना चाहता हूं लेकिन मैं गारंटी देना चाहता हूं कि मैं हमेशा लेता हूं उस 'युद्ध' फ़ाइल का नवीनतम निर्माण। बीटीडब्ल्यू: पहला लिंक मृत प्रतीत होता है। – displayname

+0

@ डिस्प्लेनाम निश्चित लिंक। और प्रक्रिया-संसाधन वह चरण है जिसे आप ढूंढ रहे हैं। –

+0

धन्यवाद! पढ़ने के लिए जा रहे हैं :) – displayname

1

आप Maven Assembly plugin का उपयोग कर दोनों ज़िप फ़ाइल बना सकते हैं।

आप Maven Antrun plugin का उपयोग भी कर सकते हैं या जो भी फाइल आप चाहते हैं उसे रखने के समान ही है लेकिन प्रति परियोजना एकल आर्टिफैक्ट का विचार मैवेन आंतरिक में गहराई से बनाया गया है, इसलिए एक मौका है कि यह आपको कहीं और शिकार करेगा। http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

और फिर फ़ाइल की प्रतिलिपि करने Maven Antrun प्लगइन का उपयोग:

+0

मैं टी चाहता हूँ o उन्हें एक दूसरे के बगल में रखें - जार फ़ाइल के बगल में संसाधन। –

1

उस फ़ाइल को बाहर निकालें।

हालांकि, बाद वाला हिस्सा ज्यादा समझ में नहीं आता है। यदि यह सर्वर में डालने के लिए कॉन्फ़िगरेशन फ़ाइल है, तो इसे मैन्युअल रूप से कॉपी करें।

+0

मैं सिर्फ एक ही क्लिक में तैनात करने के लिए आवश्यक सब कुछ तैयार करने के लिए मेवेन का उपयोग करना चाहता हूं;) –

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