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

Edito: gracias a YoNoSoyTu, actualizo el truco a uno más sencillo y mucho menos vacilón
jar cvf nombre-de-fichero.jar `find . -name '*.class'`

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


  1. 1 YoNoSoyTu

    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. 2 deigote

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

  1. 1 Si la salida fuese un Excell, lo llamaríamos ingeniería del software | El blog de Deigote
    Dirección Pingback a 11 Dic 2008 @ 5:47 pm

Añade un Comentario

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