2011-08-21 49 views
15

Cuando comencé mi proyecto, no conocía a Maven. Me di cuenta de la importancia de esto después de que el proyecto ya había crecido a un tamaño bastante grande. En ese momento yo estaba realmente en rápido desarrollo, por lo tanto, realmente no quería romper el flujo. Por lo tanto, pospuse el plugging maven en el proyecto. Ahora tengo un poco de espacio para respirar, así que me gustaría agregar maven al proyecto.Convertir proyecto existente en un proyecto de maven

¿Qué sugieres que haga o debería incluso hacerlo? Tengo Spring, Struts, Log4J, Hibernate y JAX-RS en el proyecto.

Respuesta

22

Ok ... Eventualmente cambié el proyecto a maven. Esto es lo que hice.

  1. Descargue el plugin m2e eclipse. ¡Es tu mejor amigo!
  2. Cree un proyecto esquelético maven. src/main/java es donde debería residir tu código. Mueva su código a la carpeta src/main/java. Puede continuar usando su estructura de paquete existente. No hay necesidad de cambiar eso. Incluso el cambio de código no es necesario ya que maven establece src/main/java como la carpeta de origen, por lo que no es necesario cambiar las declaraciones del paquete.
  3. Mueva las pruebas de su unidad a src/test/java. Nuevamente, no es necesario cambiar las declaraciones del paquete.
  4. DO NO copie sus bibliotecas & jarras.
  5. Revise todos los errores de compilación causados ​​por los archivos faltantes.
  6. Agregue la dependencia de cada jar faltante a pom.xml. Puede obtener la dependencia de los sitios web del repositorio maven.Si ya ha indexado los repositorios en el plugin m2e, entonces simplemente puede buscar la dependencia dentro del plugin y agregarlo desde allí mismo.

En caso de que tenga un proyecto de varios módulos, convierta los otros módulos a maven como se describe arriba y agregue el módulo dependiente a pom.xml del otro módulo.

Si tiene tarros personalizados que no están basados ​​en maven, puede agregarlos en la carpeta src/main/resources y luego agregar los jar a la ruta de compilación.

¡Ya lo tiene! ¡Pan comido!

Tengo una configuración esquelética de proyecto para Spring + Maven + EC2. Puede usarlo para crear, configurar maven y automatizar el proceso de implementación.

https://github.com/varunachar/maven-release

+0

Varun: Tengo un requerimiento para cambiar el proyecto de primavera saliente al proyecto de maven así que puedes describirlo más elaboradamente. –

+0

¿En qué parte necesita ayuda? Utilice la herramienta Spring STS para generar un proyecto de esqueleto maven o simplemente use el arquetipo maven más simple para generar el esqueleto. A continuación, puede codificar el puerto para ese nuevo proyecto utilizando los pasos mencionados anteriormente –

4

Me enfrenté exactamente a la misma situación que tú. Además de maven, migré de JavaEE5 a JavaEE6. He hecho el paso de migración a paso:

  • creado un proyecto Maven
  • Creado varios módulos para el proyecto experta en función de la estructura de edad
  • clases migrados desde el viejo proyecto de maven proyecto y ha añadido estas clases como un contenedor para el proyecto anterior

Al hacerlo, tiene una migración sin problemas de su estructura existente a Maven. Al final del día, se beneficia cada vez más de las estructuras de maven y siempre puede desarrollar aún más su proyecto.

+0

"Creé varios módulos para el proyecto maven dependiendo de la estructura anterior" ... ¿No creó una réplica de la estructura del proyecto anterior? ¿O lo hiciste para mejorar la estructura del proyecto? –

+0

Ese es el punto: para mejorar la estructura del proyecto. No es nada fácil (es probable que también enfrente dependencias cíclicas), pero realmente resulta en una mejor estructura. – Thor

+0

Desde mi experiencia, solo hago una cosa a la vez. Haz una réplica primero. Una vez que el proyecto está en maven, puede pensar en convertirlo en varios módulos más adelante, especialmente para un proyecto grande. – gigadot

2

La dificultad dependerá de cuánto sepa sobre maven y cuán grande es su proyecto. Siempre es más fácil jugar primero con un proyecto pequeño y ver cómo funciona. No importa de qué bibliotecas depende, siempre y cuando estén en el repositorio central de maven o en una ubicación en línea conocida. Si las bibliotecas que está demandando no existen en ningún repositorio maven en línea, entonces deberá desplegar sus archivos jar localmente o en su propio lugar en línea. Si no puede encontrar un buen servicio de alojamiento, puede incluso ponerlo en Github. Aquí está el trick.

Hay varios artículos interesantes sobre la conversión de proyecto de hormiga a proyecto de maven, que deberías leer. Aquí está el primer golpe en la búsqueda de Google http://www.sonatype.com/people/2009/04/how-to-convert-from-ant-to-maven-in-5-minutes/

Mi único comentario es hacer el mejor uso de su IDE cuando se convierten sus proyectos. Por ejemplo, use funciones de refactorización en su IDE cuando mueva sus códigos. Para mí, descubrí que el soporte de maven en Netbeans es extremadamente útil y fácil de usar.

0

en Eclipse se puede convertir emocionante proyecto para maven simplemente m2e-eclipse plugin.

pero en intllje, puede crear un nuevo proyecto maven y luego simplemente mover la clase a src/java/nombre del paquete y la configuración a la carpeta de recursos. , luego puede agregar todas las dependencias que su proyecto necesita del registro de errores de compilación.

Cuestiones relacionadas