Creando ficheros tipo JAR de Java en Unix (sólo clases)

Si, ya sé que algunas herramientas como ant hacen este tipo de tareas más fácilmente.

Pero para algún proyecto pequeño y gestionado por completo desde Eclipse o algún otro IDE o para algún script o similar, puede venir bien hacer esta tarea desde la terminal. El problema es que muchas veces tenemos las clases mezcadas con los ficheros fuentes y otros (por ejemplo, los directorios de control del subversion), y separarlas puede ser un poco tedioso. Aquí va un mandato que hace la magia:

jar cvf nombre-de-fichero.jar `find . -name '*.class' | awk 'BEGIN{todo=""}{todo = todo " " $0}END{ print todo}'`

Por cierto, que para matar dos pájaros de un tiro tenemos otro ejemplo para el fantabuloso tutorial de AWK :grin:

Edito: gracias a YoNoSoyTu, actualizo el truco a uno más sencillo y mucho menos vacilón :neutral:

jar cvf nombre-de-fichero.jar `find . -name '*.class'`

2 Respuestas a “Creando ficheros tipo JAR de Java en Unix (sólo clases)”


  1. Icono Gravatar 1 YoNoSoyTu 31 Oct, 2007, 2:59 pm

    Hola, ya estoy dando la coña otra vez.

    El script de Awk, si lo entiendo bien, es para convertir la lista de ficheros multilínea en una sola línea separada por espacios ¿no?

    Bueno, si es así, no es necesario, por alguna “extraña” razón sin esa parte funciona correctamente (al menos en Mac, aunque estoy seguro de haber utilizado algo similar en Linux alguna vez).

  2. Icono Gravatar 2 deigote 31 Oct, 2007, 4:00 pm

    Tienes razón, los salto de línea no afectan cuando lo metes entre comillas francesas de esas :oops: pues ya no tiene tanta gracia, vaya, mejor que sea sencillo pero antes vacilaba más :razz:

Añade un Comentario

XHTML: Puedes usar estas etiquetas <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> :