¿Cómo controlar correctamente la versión (svn: ignorar) un proyecto de Java (Maven, Spring)?

Estaba en una capacitación introductoria de 2 días sobre Java EE. Utilizamos Java EE, Spring Framework, Maven, Springsource Tool Suite (Eclipse), Tomcat.

Tomé el espacio de trabajo de Eclipse que creamos allí y lo ejecuté en mi PC de trabajo. Tenía, si no recuerdo mal, solo para configurar Tomcat correctamente, y funcionó en mi PC.

Ahora quiero save el área de trabajo de Eclipse creada que contiene 5 proyectos "sub" en subversión para que mis compañeros de trabajo puedan verificar esto y ejecutarlo en sus computadoras.

¿Cómo hacer esto correctamente? Encontré en alguna parte una regla svn: ignorar:

.classpath .project .settings target 

Utilizando tortoiseSVN agregué a la carpeta con el área de trabajo esta regla de ignorar, pero descubrí que el objective de las carpetas subyacentes no se eliminó, así que las borré manualmente y "agregué a la list de ignorar". Pero después de eso, el proyecto en Spring Source Tool Suite no ve las dependencies mevan (creo que sí) porque las importaciones están rotas. STS subraya org. en las importaciones y dice que no puede resolver esto.

¿Cómo controlo correctamente la versión de dicho proyecto?

En mi proyecto, utilizamos Maven y Eclipse (Helios, actualmente) y los plugins de Maven para Eclipse:

Integración de Maven para la integración de Eclipse Maven para WTP

Solo tenemos el file pom.xml y el tree de directorys / src en nuestro sistema de control de versiones. Nos aseguramos de no agregar los files de eclipse allí. Luego, cuando un nuevo desarrollador comienza en el proyecto, lo hacen Import -> Maven -> Proyectos Maven existentes. Los complementos de Maven para Eclipse configuran routes de compilation, configuraciones y demás.

De esta forma, también es muy fácil volver a importar sus proyectos en Eclipse según sea necesario.

Por lo tanto, mi consejo es dejar los files de Eclipse fuera de SVN y asegurarse de que puede configurar el proyecto correctamente de forma automática simplemente mediante la import de un proyecto de Maven.

Si entiendo tu problema de la manera correcta, debes configurar Eclipse para poder lanzar tomcat desde él. La key, aquí, ya no es Maven, pero Eclipse, creo. Como ha realizado modificaciones en su área de trabajo que no se pueden poner en su file de configuration de Maven (el pom.xml), se convierte en "dependiente de Eclipse".

La key aquí es que, como depende de Eclipse, necesita que los files de configuration de Eclipse funcionen. En consecuencia, me temo que debe volver a agregar .classpath , .project , .settings a su herramienta de control de versiones … No es genérico, porque obliga a las personas que trabajan en su proyecto a utilizar Eclipse. Pero si todos en su equipo lo hacen, no debería ser un problema.

Como ya no uso Eclipse, no sé si las versiones de estos files pueden generar problemas. Sin embargo, espero que esta respuesta te ayude a configurar tu proyecto de nuevo …

EDITAR: para ser más preciso … y tal vez dar una mejor respuesta.

Cuando se usa un sistema de control de versiones, el objective principal suele ser (¿siempre?) Dar todas las keys para usar las fonts y desarrollar a partir de ellas. En consecuencia, debe colocar en su VCS sus fonts y todas las configuraciones necesarias para usarlas de manera eficiente.

En su caso específico, la key es que se ha convertido en dependiente de Eclipse a través de su complemento Springsource Tool Suite. En consecuencia, se vuelve esencial agregar los files de configuration para esta herramienta, porque no pueden funcionar sin ellos, y si no pueden funcionar, no se puede trabajar.

Puedo decirte mi forma de subvertir proyectos de maven eclipse. En primer lugar , cuando crea la estructura del proyecto , debe enviar los files .setting, .classpath, .project al repository de subversión. Si no puede hacer esto, los otros colegas no podrán usar la estructura del proyecto después de finalizar la compra. Después de comprometer la estructura del proyecto, la mejor manera es no comprometer estos files, excepto cuando se cambie algo eclipse importante o la configuration de la ruta de compilation, porque los otros tendrán conflictos debido a las informaciones dependientes del sistema. Nunca comprometer el directory de destino Maven . Lo siento por mi ingles. Espero eso ayude.