Borrar todos los directorios target en maven

Todo desarrolldor Java conoce Maven. Una herramienta que funciona igual que en su día ant o Gradle. La idea es teer una herramienta que en base a la configuración del proyecto (ficheros pom.xml) sabe cómo compilar, en qué orden y qué dependencis tiene (además de resolverlas e instalarlas si puede).

Normalmente se compila usando un comando como mvn compile o mvn package, el resultado se generar e un subdirectorio llamado target. Para limpiar el proyecto y borrar todo el contenido generado se usa el comando mvn clean.

Cuando tenemos un proyecto con subproyectos (submodulos, en maven) si es muy complicado puede volverse loco y no hacerlo bien. En Bash tenemos un truco para borrarlos de forma recursiva, con el comando (ejecutado en el raíz del proyecto):

for f in $(find . -type d -name target -exec echo {} \;); do rm -rf $f; done

Podemos ver el tamáño del directorio con:

du -h -d1

Por ejemplo, si comparamos un proyecto antes y después de hacer esto:

Una diferenci de 9 GB !!!

Carpetas compatidas en VirtualBox

Introducción

El problema es conocido: crear una máquina virtual y disponer de un mapeo entre carpetas de la máquina que aloja al virtualizador (host) y otra en el máquina huesped (guest) De este modo tenemos una ruta donde leer o escribir ficheros, y el sistema debería mapear permisos de usuario de forma bidireccional.

Guía paso a paso

Crear una carpeta en tu equipo (donde tiene el software de virtualización). En caso de Windows, por ejemplo: C:\temp\CompartidoVirtualBox

Y en Virtual Box debemos abirr la configuración de la máquina virtual, ir a la sección de compartidos y poner esta información (o la que cada cual haya querido):

– Arranca la máquina virtual
– Ir a: Devices > Insert Guest Additions CD image…
– Si no se monta de forma automática la imgen de CD usar el comando: sudo mount /dev/cdrom /media/cdrom
– Instalar paquetes adicionales: sudo apt-get install make gcc linux-headers-$(uname -r)
– Instalar Guest Additions: sudo /media/cdrom/VBoxLinuxAdditions.run

IMPORTANTE: Debemos añadir el usuario que va a usar el recurso compartido al grupo vboxsf.

sudo usermod -aG vboxsf $(whoami)

Reinciar, el punto de montaje debe estar disponble.