2009-10-28 22 views
5

Tengo un proyecto Maven de varios módulos en un repositorio de Subversion con muchos desarrolladores trabajando en él con Eclipse + M2Eclipse. Ahora, si un desarrollador agrega un módulo, otros necesitan hacer una actualización de SVN desde la línea de comando (ya que Eclipse no ve la raíz común del proyecto Maven) e importar el nuevo módulo manualmente como un proyecto de Eclipse.Importar nuevo módulo Maven en Eclipse automáticamente

¿Hay alguna manera de hacerlo automáticamente?

Mi estructura del proyecto se parece a esto:

 
Working Copy     Eclipse Workspace 

working copy root -X-> 
+- parent   --->  +- parent 
| \- pom.xml    | \- pom.xml 
+- child1   --->  +- child1 
| \- pom.xml    | \- pom.xml 
+- child2   --->  +- child2 
    \- pom.xml     \- pom.xml 

Respuesta

1

Usted puede tener un pom en la raíz, que tendrá padre, child1, child2, etc como módulos. Después de la actualización de SVN si no se añadió un nuevo módulo, puede ejecutar

mvn eclipse:clean eclipse:m2eclipse 

desde el botón de herramientas de Eclipse (a la derecha de los botones de depurar y ejecutar)

Si está utilizando TortoiseSVN se puede ajustar un post-update client side hook, pero cada desarrollador tendrá que configurarlo de forma independiente.

+0

Creo que la pregunta original era sobre el plugin Eclipse (M2Eclipse), no sobre el plugin maven-eclipse. –

+0

No es necesario agregar un pom a la raíz para ejecutar una compilación de varios módulos (y el OP está usando un diseño plano para poder actualizar el pom.xml padre de eclipse, supongo). El gancho post-udpate del lado del cliente es una idea, pero no resolverá todo el problema. –

0

Puede ser proyecto Buckminster puede ayudarlo a verificar FAQ. Espero que ayude

0

¿Hay alguna manera de hacer esto automáticamente?

Para hacer qué? ¿Para evitar importar el nuevo módulo manualmente como un proyecto de Eclipse? AFAIK, esto no es compatible actualmente, tendrá que agregarlo manualmente (debería ser posible hacerlo mediante programación, existe tal solicitud para el plugin Maven Eclipse - MECLIPSE-75 - no se pudo encontrar uno para Maven Intergration para Eclipse)

Dicho esto, ¿la adición de un módulo realmente ocurre tan a menudo? Su situación puede ser diferente pero, según mi experiencia, alcanzará un punto estable bastante rápido y agregar un módulo se convertirá en algo inusual.

Sin embargo, una buena comunicación en equipo es la mejor solución que encontré para lidiar con esto. Cuando un desarrollador agrega un nuevo módulo, es su deber dejar que otros miembros del equipo sepan que él introdujo un cambio y describir los pasos necesarios para tomar en cuenta la modificación. Nadie es omnisciente, nadie puede leer en la mente de los demás, la comunicación activa es la clave de una buena colaboración.

+0

Estamos a punto de hacer una refactorización importante del producto, y por lo tanto los proyectos vendrán y se irán mucho en los próximos meses. Hay muchos desarrolladores trabajando en los proyectos, y no me gustaría que estos cambios los detengan en todo momento. –

+0

He enfrentado esta situación en un proyecto con más de 100 desarrolladores geográficamente distribuidos y, como dije, la comunicación es su mejor arma. Dicho esto, sigo creyendo que alcanzarás un punto estable relativamente rápido. –

0

también se puede utilizar Maven en Eclipse-plugin

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <configuration> 
       <wtpversion>2.0</wtpversion> 
       <projectNameTemplate>[artifactId]-[version]</projectNameTemplate> 
      </configuration> 
     </plugin> 

refrescar el proyecto después de su importación desde SVN

o también puede hacer clic derecho en el proyecto y haga clic en 'permitir la gestión de la dependencia'

Cuestiones relacionadas