2012-11-26 13 views
5

ja jak zawierać plik zipfileset ale zmiany nazwy, jak równieżAnt zipfileset nazwy pliku

np

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

ale chce zmienić nazwę z test.war do sample.war

jak to osiągnąć? Dziękuję Ci.

Odpowiedz

1

Nie sądzę, że to jest możliwe, wybrałbym podejście 2-etapowe.

Albo zmienić nazwę i dodać:

<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> 

lub skopiować i dodać (jeśli trzeba oba):

<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

Oprócz rozwiązania wspomnianym przez Piotra, jeśli nie chcesz, aby zachować 2 kopie tego samego pliku ... możesz usunąć skopiowany ...

<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"/> 

Teraz nie masz duplikatu o f test.war.

5

Prawdopodobnie możesz zrobić to, co chcesz, używając mappedresources resource collection. Ten „pracował dla mnie” w podstawowym badaniu (jedno wejście wojna zwana test1.war):

odpowiedź
<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

martin Claytona pracował dla mnie. Byłem również w stanie zrobić wszystko w jednym elemencie (jako dzieci):

<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>