Cómo transformar un proyecto Netbeans en uno Maven
Últimamente estoy pasando muchos proyectos de Netbeans a Maven , con las ventajas (e inconvenientes) que esto supone. Así que he decidido compartir con vosotros los pasos que suelo seguir y, ya de paso, me hago una chuleta :D
Maven ofrece varias ventajas bastante interesantes:
- Resolución automática de dependencias.
- Lanzamiento automático de las pruebas tras la compilación.
- Generación automática del Manifest.
- Compatibilidad entre distintos IDEs.
Tiene algunos inconvenientes, como que la configuración se realiza mediante un XML y tiende a ser condenadamente grande o que la herencia entre los distintos “pom” puede ser infernal.
Netbeans, por su parte, nos pone dificil el cambio, ya que tiene un sistema de cachés que se resistirá al cambio, además de darle menos prioridad al pom.xml que a sus propios archivos, cosa que es bastante lógica.
Pero vamos al lío:
- Abrir Netbeans, ir a las propiedades del proyecto y apuntarnos las librerías de las que depende, si es con versión mejor.
- Cerrar Netbeans. Así no tendremos problemas de cachés o de archivos desactualizados.
- Crear el directorio
src/main/java
- Crear el directorio
src/main/resources
- Crear el directorio
src/test/java
- Crear el directorio
src/test/resources
- Subir todos estos directorios al repositorio que estemos usando
- Mover, mediante órdenes del repositorio, nuestras clases a
src/main/java
. Posiblemente estén ensrc/com
o algo así. Es importante seguir manteniendo la misma estructura. - Mover, mediante órdenes del repositorio, nuestras clases de prueba a
src/test/java
- Eliminar el archivo
build.xml
y el directorionbproject
(acordaros de eliminarlo del repositorio también) - Crear el archivo
pom.xml
y añadirle las dependencias que nos apuntamos en el primer paso. - Abrir Netbeans y comprobar que todo se ha hecho correctamente.
Tras todos estos pasos, que son más sencillos de lo que parece, deberíamos cambiar nuestros recursos de directorio. Si los recursos de test se encuentran en el lugar adecuado, tenemos la ventaja de que Maven ya se encarga de gestionarlos y no tendremos problemas de referencias ni nada por el estilo. El problema de esto es que es posible que tengamos que cambiar nuestro código, ya que la ruta por defecto para encontrar estos recursos tendrá el aspecto: src/main/java/ruta_antigua
Y creo que eso es todo.