Tengo un proyecto que necesita acceder a recursos dentro de su propio archivo JAR. Cuando creo el archivo JAR para el proyecto, me gustaría copiar un directorio en ese archivo JAR (supongo que el equivalente en ZIP sería "agregar" el directorio al archivo ZIP existente). Solo quiero que la copia se realice después de que se haya creado el JAR (y obviamente no quiero que la copia se realice si limpio y elimino el archivo JAR).¿Cómo copio archivos en un JAR existente con Ant?
Actualmente el fichero de construcción es similar a esto:
<?xml version="1.0" encoding="UTF-8"?>
<project name="foobar" basedir=".." default="jar">
<!-- project-specific properties -->
<property name="project.path" value="my/project/dir/foobar" />
<patternset id="project.include">
<include name="${project.path}/**" />
</patternset>
<patternset id="project.jar.include">
<include name="${project.path}/**" />
</patternset>
<import file="common-tasks.xml" />
<property name="jar.file" location="${test.dir}/foobar.jar" />
<property name="manifest.file" location="misc/foobar.manifest" />
</project>
Algunas de las tareas de construcción son llamados desde otro archivo (común-tasks.xml), que no puedo mostrar aquí.
¿Por qué no agrega los recursos en el momento de crear el archivo JAR? Eso es lo que hago en las compilaciones donde tengo archivos JAR que incluyen recursos sin código dentro de ellos. – Eddie
Porque la tarea que se define para crear el archivo JAR se define en otro archivo que no puedo cambiar. – troyal
¡Eso lo haría! Oh bien. Me alegra que otros respondieron de manera que resuelva tu problema. – Eddie