martes, 3 de marzo de 2015

Solución a Eclipse no importa proyectos EJB desde git o github

A veces al importar un proyecto desde un repositorio git o github.com nos encontramos con un problema y es que se importa mal en eclipse, sobretodo cuando el proyecto es de tipo EJB o de tipo EAR.

El problema viene porque tanto el proyecto EAR como el EJB necesitan de una serie de directorios de configuración en eclipse aunque estén vacíos y sin ese directorio eclipse no logra abrir el proyecto o si lo abre no lo trata como un proyecto Java JEE y comienza a dar excepciones y la pestaña de mensajes se llena de errores.

El asunto es fácil cuando se sabe, y es que git no guarda versiones de directorios vacíos de ahí el problema.

Así que el flujo de trabajo es el siguiente:


  1. Creamos un proyecto EJB o EAR y le añadimos el EJB y el WAR en eclipse.
  2. Creamos los componentes
  3. Creamos el repositorio local
  4. Hacemos el primer commit
  5. Lo subimos a un repositorio global como github, bitbucket o uno de nuestra empresa
  6. Un compañero hace clone del proyecto
  7. FALLA


Y es debido al asunto anterior, git no versiona directorios vacíos y necesarios para eclipse.

La solución es chapucera, pero simple y efectiva.
En esos directorios vacíos y necesarios para eclipse simplemente hay que agregar dentro un fichero vacío, sin contenido y ya está solucionado. Se incorpora ese fichero en el siguiente commit y por tanto git mantendrá también el directorio que lo contiene.

Es común informar de alguna manera que el fichero no debe borrarse, así pueden encontrar esos ficheros vacíos de contenido con el nombre: keep.

Mi recomendación es que para evitar estos problemas, como otros asociados con el trabajo de los proyectos nativos de eclipse, como versiones de java, problemas de classpath, codificación de caracteres y un largo etcétera es que uses maven.

No hay comentarios:

Articulos relacionados