Actualmente estoy haciendo esto:

<jar update="yes"
     jarfile="${pwd}/dist/${release}_installer.jar">
   <zipfileset src="${pwd}/dist/app.jar" includes="com/izforge/izpack/panels/**"/>
   <zipfileset src="${pwd}/dist/app.jar" includes="com/xyz/img/logo.png"/>
</jar>

Mi instalador FRASCO se actualiza para incluir los archivos según sea necesario, extraídos de la aplicación de la JARRA.

Tan lejos, tan bueno.

Sin embargo, quiero modificar el comportamiento tal que la ruta de acceso del archivo de la imagen es diferente de lo que está siendo copiada de:

Actualmente:

com/izforge/izpack/panels/MyIzPanel.class
com/xyz/img/logo.png

Lo que quiero:

com/izforge/izpack/panels/MyIzPanel.class
blah/img/logo.png

Así que tengo que copiar los archivos, pero el uso de <zipfileset> y <jar> de tal manera de que yo pueda modificar la estructura de directorios.

Hay una manera de hacer esto, aparte de descomprimir todo el contenido a copiar el archivo y, a continuación, comprimirlo de nuevo?


EDICIÓN:

Link a la anterior pregunta relacionada con: tarea ant para quitar los archivos de un frasco

InformationsquelleAutor bguiz | 2010-10-01

3 Comentarios

  1. 5

    Puede utilizar el fullpath atributo:

    <zipfileset src="${pwd}/dist/app.jar"
        includes="com/xyz/img/logo.png" fullpath="blah/img/logo.img"/>

    Si necesita copiar varios archivos puede que desee echar un vistazo a la prefix atributo, por ejemplo:

    <zipfileset src="${pwd}/dist/app.jar"
        includes="**/*.png" prefix="blah/img"/>
    • Hice trry prefijo, h/w I get blah/img/com/xyz/img/logo.png en lugar de blah/img/logo.png, que es lo que quiero.
    • He actualizado mi respuesta, intente fullpath lugar.
    • Sí, fullpath no funciona para un solo archivo, sin embargo tengo varias .png archivos que quiero mapa… he estado buscando en el mapper ( ant.apache.org/manual/Types/mapper.html ) ant tipos, pero no he conseguido hacer que funcionen…
    • Para más de un archivo, si prefix no se adapta a sus necesidades, entonces sí, será necesario el uso de miembros de la comunidad.
  2. 2

    Con el fin de modificar la estructura de directorios en el archivo sobre la marcha puede utilizar la tarea en combinación con <mappedresources>, por ejemplo:

    <jar file="target.jar" update="true">
      <mappedresources>
        <zipfileset src="source.jar">
          <include name="com/xyz/img/*.png"/>
        </zipfileset>
        <mapper type="glob" from="com/xyz/img/*.png" to="bla/img/*.png" />
      </mappedresources>
    </jar>

Dejar respuesta

Please enter your comment!
Please enter your name here