Compilación de archivos de Java bajo demanda

fswatch es un comando multiplataforma que monitorea y envia notificaciones cuando el contenido de un archivo cambia. Un ejemplo practico de su uso, es el compilar un archivo en el momento en que este es guardado.

Instalación

En Ubuntu, no existe un paquete oficial que facilite su instalación por lo que es necesario realizar una serie de pasos para generar los paquetes e instalarlos desde código fuente.

$ sudo apt-get install build-essential  -y
$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz
$ tar -xvzf fswatch-1.9.3.tar.gz
$ cd fswatch-1.9.3
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig

Uso

Una vez instalado es posible anidarlo a algún evento y realizar una acción especifica. En este caso se realiza una compilación del archivo modificado.

$ fswatch -0 HolaMundo.java | (while read -d "" event; do javac HolaMundo.java; done)

Para mayor información acerca de uso, visite su pagina oficial