2012-11-26 9 views
5

नाम बदलने मैं zipfileset करने के लिए फ़ाइल शामिल हैं, लेकिन यह रूप में अच्छी तरह नाम बदलनेचींटी zipfileset फ़ाइल

चाहते हैं जैसे

<zipfileset dir="${basedir}/test/target" prefix="webapps"> 
    <include name="test*.war"/> 
</zipfileset> 

लेकिन यह कैसे प्राप्त करने के लिए sample.war

को test.war से नाम बदलना चाहते हैं? धन्यवाद।

उत्तर

1

मुझे नहीं लगता कि यह संभव है, मैं 2 कदम दृष्टिकोण के लिए जाऊंगा।

या तो नाम बदलने और जोड़ें:

<move file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/> 
<zipfileset dir="${basedir}/test/target" prefix="webapps"> 
    <include name="sample*.war"/> 
</zipfileset> 

या कॉपी और जोड़ने (यदि आप दोनों की जरूरत है):

<copy file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/> 
<zipfileset dir="${basedir}/test/target" prefix="webapps"> 
    <include name="sample*.war"/> 
</zipfileset> 
0

पीटर ने उल्लेख किया समाधान के अलावा, आप नहीं 2 बनाए रखने के लिए चाहते हैं, तो एक ही फाइल की प्रतियां ... आप कॉपी किए गए एक को हटा सकते हैं ...

<copy file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/> 
<zipfileset dir="${basedir}/test/target" prefix="webapps"> 
    <include name="sample*.war"/> 
</zipfileset> 
<delete file="${basedir}/test/target/sample.war"/> 

अब आपके पास डुप्लिकेट प्रति नहीं होगी एफ test.war।

5

आप शायद mappedresources resource collection का उपयोग करके जो भी करना चाहते हैं वह कर सकते हैं। यह एक बुनियादी परीक्षा में 'मेरे लिए काम किया' (एक इनपुट युद्ध test1.war कहा जाता है):

<mappedresources id="mapped.zfs"> 
    <zipfileset dir="${basedir}/test/target"> 
     <include name="test*.war"/> 
    </zipfileset> 
    <globmapper from="test*" to="webapps/sample*" /> 
</mappedresources> 

<zip destfile="eg.zip"> 
    <resources refid="mapped.zfs" /> 
</zip> 

% unzip -l eg.zip 
Archive: eg.zip 
    Length  Date Time Name 
--------- ---------- ----- ---- 
     0 11-27-2012 00:19 webapps/ 
    1423 11-27-2012 00:16 webapps/sample1.war 
---------      ------- 
    1423      2 files 
0

मार्टिन क्लेटन के जवाब मेरे लिए काम किया। मैं इसे सभी तत्वों (बच्चों के रूप में) में भी करने में सक्षम था:

<zip destfile="eg.zip"> 
    <mappedresources> 
    <zipfileset file="test*.war"/> 
    <globmapper from="test*" to="webapps/sample*" /> 
    </mappedresources> 
    <!-- additional file-sets and resources may be listed here --> 
</zip> 
संबंधित मुद्दे