2011-04-15 20 views
6

Actualmente estoy trabajando en un proyecto de Java dentro de un equipo de 5 colegas para la universidad. En realidad, terminaremos la fase de planificación en los próximos días y luego comenzaremos a implementar.¿Cómo usar Mercurial, Maven y Eclipse juntos?

Para el proyecto, tenemos que usar Mercurial (a través de Bitbucket.org) y Apache Maven. Nos gustaría utilizar Eclipse como IDE. Sé cómo usar Mercurial, y he leído algunos artículos y guías sobre Maven. Lo que no entiendo es cómo debemos usar esas herramientas en colaboración.

¿Qué debería colocarse en el repositorio? Todo el proyecto de Eclipse? ¿O solo los archivos fuente y el pom.xml de Maven? Si este último, ¿cómo sería una sesión de trabajo? Extraiga los archivos, cree un proyecto de Eclipse con mvn eclipse: eclipse, codifique un tiempo y comprométalos/empújelos al repositorio.

Soy responsable de crear la estructura del proyecto, por lo que mis colegas, y yo también, podemos comenzar a desarrollar. Pero realmente no sé cómo comenzar ahora. Si el uso de Maven no fuera obligatorio, simplemente colocaría el proyecto Eclipse en el repositorio. Pero teniendo que usarlo, estoy bastante confundido ahora, ¿cómo? Si afecta todo.

Respuesta

7

Uso una configuración similar, excepto que estoy usando Dropbox para mi repositorio (solo dos desarrolladores). Simplemente siga estos pasos, con el m2eclipse (sitio de actualización: http://m2eclipse.sonatype.org/sites/m2e) y el MercurialEclipse (sitio de actualización: http://cbes.javaforge.com/update), puede hacer todo en eclipse.

Crear un proyecto Maven:

Archivo -> Nuevo -> Otros -> Proyecto Maven

En Explorador de proyectos, haga clic derecho en el nuevo proyecto Maven creado

equipo -> Compartir proyecto ... -> Mercurial -> (dejar la carpeta como está) Finalizar

A continuación, cree un archivo .hgignore en la raíz del proyecto:

en el Explorador de Proyecto clic derecho sobre el nuevo proyecto creado experto

Nuevo -> Archivo -> Nombre del archivo:.hgignore y acabado

.hgignore:

syntax: regexp 
target  # maven output 
\.classpath # eclipse 
\.project # eclipse 
\.settings # eclipse 
test-output # eclipse junit/testng plugin output 

Entonces usted puede hacer su primera confirmación, pero ten cuidado, hg no almacena carpetas vacías en su repositorio, así que para mantener la estructura de carpetas experto sin ninguna fuente código en el que usted tiene que poner un archivo (vacío) en cada carpeta vacía, para un proyecto Maven sencilla y sin ninguna fuente de lo que sería en las carpetas:

  • miproyecto/src/main/java
  • miproyecto/src/main/resources
  • miproyecto/src/test/java
  • miproyecto/src/test/recursos

Por ejemplo pongo un archivo con el nombre .empty en ella con el contenido "este es un archivo de marcador de posición, elimine si hay otros archivos en esta carpeta"

Si faltan algunas de estas carpetas, sus colegas verán errores en eclipse si importan su proyecto.

En primer lugar se comprometen:

en el Explorador de Proyecto clic derecho sobre el nuevo proyecto creado experto

equipo -> Commit ... -> Seleccionar todo y entrar en un mensaje de entrega -> Finalizar

Ahora puedes clonarlo en bitbucket (no tengo experiencia con bitbucket).

diga a sus colegas para instalar los dos plugins de eclipse y luego se puede conseguir la cesión temporal a través de

Archivo -> Nuevo -> Otros -> Salida Proyecto Maven de SMC -> escribir la dirección a tu repositorio - > Finalizar

Y entonces ya está listo para empezar.

2

Aquí hay alternativas basadas en las prácticas en la ASF (aunque no utilizamos Mercurial).

Para empezar, configure un árbol fuente con la construcción Maven que compruebe en Hg. No toques el eclipse todavía. Querrá encontrar algún plugin de Eclipse para Hg.

Luego, observe dos alternativas: maven-eclipse-plugin y M2eclipse.

El plugin maven-eclipse es un plugin maven. Lo ejecuta desde la línea de comandos, y genera .project y .classpath y algunos de .settings. Actualmente no se está trabajando, pero es bastante estable y funcional en muchos casos comunes. A continuación, importa el 'proyecto Eclipse existente' y está listo para comenzar.

M2Eclipse es un plugin Eclipse que integra las compilaciones de Maven. Es bastante ambicioso Sin embargo, su avatar actual es bastante nuevo y puede estar lleno de sorpresas.

+0

"y eres bueno para ir"? ¿Quieres decir que terminé con Maven (por un tiempo) y puedo comenzar a trabajar (extraer, codificar con Eclipse, confirmar, presionar)? – flog

+0

Sí, eso es lo que quise decir. – bmargulies