Puede parecer una entrada un poco tonta, pero lo cierto es que hay programadores que no lo tienen claro: el IDE es sólo una ayuda en el ciclo de desarrollo y no un fin en si mismo. Esto es, lo realmente importante es el código.
Me he decidido por esta entrada porque trabajo en un proyecto consistente en bastantes módulos, y como muchos desarrolladores han pasado por ahí, todos y cada uno ha dejado su granito de arena y un poco más (típicamente mierda). El caso es que desde la línea de comandos se puede compilar todo sin problemas, pero no todo el mundo quiere trabajar así.
El procedimiento es sencillo, se crea un nuevo proyecto Java (New Java Project) y se selecciona la opción Create project from existing source, apuntando al directorio que contiene todo el código, y que por buenas practicas hemos dejado en el workspace, no es plan de hacer copias innecesarias.
Comprobamos el entorno de ejecución, versión Java a usar, pulsamos siguiente o next para comprobar que se incluyen los directorios con los diferentes módulos y pinchamos sobre la pestaña de librerías para verificar que se han incluido. Si el proyecto tiene una estructura que se ajusta a las convenciones (src/main/java para el código, src/test/java para las pruebas, lib para las librerías y conf o src/resources para los ficheros de configuración) todo debería cargarse automáticamente, si no es así tocará añadirlo a mano y aprenderemos el valor de las convenciones.
Gestión de entornos con usepackage en debian
Los que nos dedicamos al desarrollo software a veces necesitamos trabajar con diferentes entornos, i.e. diferentes versiones de Java, y la gestión asociada puede ser bastante engorrosa. Tradicionalmente se recomienda usar un enlace genérico que apunte al entorno específico.
El paquete usepackage viene en nuestra ayuda. En debian podemos instalarlo como
apt-get install usepackageA continuación se escribe en los ficheros de configuración las variables de entorno a cargar según el entorno deseado. Va a usarse como caso práctico diferentes versiones de grails.
Editamos .bashrc para cargar use al inicio de sesión. Se crea el fichero /etc/usepackage/grails.conf con el siguiente contenido:
# GRails 1.1.1
>> grails1.1.1: "Grails 1.1.1" <<
grails1.1.1 * * * * : GRAILS_HOME = /usr/local/grails-1.1.1,
PATH+= /usr/local/grails-1.1.1/bin;
# GRails 1.2.1
>> grails1.2.1: "Grails 1.2.1" <<
grails1.1.2 * * * * : GRAILS_HOME = /usr/local/grails-1.2.1,
PATH+= /usr/local/grails-1.2.1/bin;
Y finalmente creamos ~/.packages para insertar:
(include /etc/usepackage/grails.conf)Refrescando la configuración (source .bashrc) y ejecutando use -l podremos ver los diferentes entornos disponibles, de los que nos interesan:
grails1.1.1 - Grails 1.1.1
grails1.2.1 - Grails 1.2.1
Y cargamos el deseado con use grails1.2.1 por ejemplo.