Pregunta

Mi organización ha tomado una decisión de nivel superior para pasar a Maven como la herramienta de construcción estándar para proyectos Java. Me han asignado la tarea de ayudar a nuestros equipos locales a migrar proyectos a Maven.

Una de las herramientas principales que está en juego es el IDE de MyEclipse. MyEclipse parece haber tenido una " diversión " Historial con el equipo de Maven como evidenciado en varios lugares, especialmente cuando Tratar proyectos de guerra. No he encontrado problemas con proyectos jar simples ... todavía.

Después de luchar con MyEclipse y no lograr que reconozca fácilmente un proyecto de guerra, la pregunta es: ¿Merece la pena MyEclipse para desarrollar aplicaciones de guerra de Maven?

Si es así, ¿hay alguna forma de que MyEclipse juegue bien con un proyecto de guerra que no he encontrado? O, ¿estoy mejor sugiriendo que es hora de usar Eclipse Java EE edition con m2eclipse?

¿Fue útil?

Solución

Estoy trabajando como líder tecnológico, y recientemente comenzamos a mudarnos a Maven. Tuve un par de problemas para que Maven trabajara con myeclipse. Primero, incluso cuando "Habilité todas las características de m2eclipse" casilla de verificación, todavía no pude ver un proyecto como un proyecto experto, de subversion. Esa opción (que se obtiene de m2eclipse) simplemente no estaba disponible.

Además, algunas de las preferencias que obtiene con m2eclipse no están disponibles con maven4myeclipse.

Finalmente, no pude simplemente desinstalar el complemento maven4eclipse e instalar m2eclipse. Eso habría sido una solución aceptable.

Creo que Genutec trató de hacer que Maven sea más accesible para los novatos, pero hay algunos problemas en el emplazamiento, y no veo que se solucionen pronto. Para nosotros, eso probablemente delegará a MyEclipse como un simple editor de jsp.

Otros consejos

No. MyEclipse no admite proyectos que se crearon fuera de él. Es por diseño solo trabajando con proyectos creados usando sus asistentes.

De la Uso de Maven en MyEclipse Overview

  

NOTA: Maven solo es compatible con proyectos nuevos. Migración de los existentes.   Los proyectos para proyectos habilitados para Maven no son compatibles en este momento, pero   Puede ser considerado para una versión posterior. En este momento el equipo de MyEclipse está   Enfocado en proporcionar una experiencia de proyecto de Maven tan fluida como   posible

Mike,

Lamento escuchar que está luchando contra MyEclipse y Maven, en el pasado, el problema más común que he visto causando dolor a las personas en esta área es cuando no tienen la raíz web, los directorios de origen Java o los directorios de recursos configurados correctamente.

Utilizando esta página web como referencia para un proyecto web estándar de Maven2 En el diseño, puede crear fácilmente un proyecto web MyEclipse habilitado para Maven. Los pasos que querría seguir son los siguientes:

  1. Archivo > Nuevo > Proyecto Web
  2. Asígnele un nombre a su proyecto, use el directorio de origen Java de " src / main / java " y una Raíz web de " src / main / webapp " ;, marque el nivel de especificación de Java EE que desee, marque " Compatibilidad con Maven " marque y haga clic en Finalizar (a menos que desee configurar las ID de artefactos / grupos).
  3. Ahora, si esta es la primera vez que utiliza Maven4MyEclipse, se llevará a cabo una gran cantidad de inicialización al preparar su repositorio local y tomar todos los recursos de Java EE para construir su proyecto, pero después de eso, debería estar listo.
  4. Puede ejecutar los objetivos de Maven desde el menú de clic derecho en Ejecutar o depurar como e incluso administrar la ejecución de objetivos personalizados utilizando la compilación " Maven ... " acceso directo: todo esto es similar a m2eclipse.
  5. Si decide que desea usar m2eclipse completo, puede navegar a Ventana > Preferencias > MyEclipse > Maven4MyEclipse y marque la casilla " Habilitar todas las características de m2eclipse " casilla de verificación.

Fuera de la caja solo ocultamos los bits que pueden hacer que Maven se confunda para quienes se inician en la primera vez, si habilitas todos los bits de m2, puedes hacer lo que quieras con Maven y MyEclipse. Si sigue teniendo problemas, visite nuestros foros y avísenos y le ayudaremos lo mejor que podamos.

Mike,

  

Creo que el problema es que el proyecto ya se ha creado fuera de MyEclipse y > funcionó a través de Maven usando la línea de comandos. Importarlo no tiene éxito.

Vi esta publicación cuando buscaba otros recursos de Maven, así que intervengo.

¿Por qué no importa su proyecto existente usando Archivo > Importe y active todas las funciones de m2eclipse y continúe desarrollándolas como lo hizo antes de usar las herramientas de línea de comandos de Maven. He hecho esto y funciona bien para proyectos heredados, una vez que las características de m2eclipse están habilitadas como se menciona en el # 5 de Riyad.

Personalmente, siempre he pensado que el formato de Maven War era un fracaso, pero todavía tenemos algunos proyectos antiguos que lo utilizan. El formato de Maven es solo un valor predeterminado (y uno pobre), no una especie de estándar. Sin embargo, actualmente dejamos esos proyectos antiguos " tal como están " (utilizando la técnica anterior) solo porque es fácil. Pero para los nuevos trabajos, usamos los proyectos web de MyEclipse y luego habilitamos el soporte de Maven en ellos. El beneficio es que obtienes todo el soporte de Maven y es muy fácil de usar y administrar, pero no más la línea de comandos (aunque eso también funciona) y todas las herramientas de MyEclipse funcionan perfectamente en ellos también. Es un " mejor de ambos " Enfoque, bueno, al menos para nosotros. YMMV.

Espero que ayude, Dave

Mike,

  

Interesante, ¿qué sucede cuando tienes desarrolladores que no están utilizando MyEclipse?

No hay problema aquí; Trabajo para una compañía muy grande que ha sido estandarizada en él durante bastante tiempo (afortunadamente, podría agregar como solíamos ser una tienda de WSAD - shudder.)

De todos modos, si tienes algunos que usan MyEclipse y otros que no, veo dos opciones. Primero, si crea proyectos web MyEclipse y luego " Agregar capacidades Maven " (o como se llame) para ellos, trabajarán en MyEclipse y también desde la línea de comandos de Maven. Así que incluso si no está utilizando MyEclipse, puede seguir utilizando las herramientas de línea de comandos de Maven. Además, dado que la estructura de MyEclipse es la más estándar " exploded war " Diseño, debería funcionar con cualquier otra cosa que uses también.

Otra cosa a considerar es que el diseño web de Maven es simplemente un valor predeterminado y Maven puede admitir fácilmente cualquier estructura de proyecto, incluida la que utiliza MyEclipse, por lo que debería poder usar el proyecto MyEclipse con Maven en cualquier herramienta con solo un poco. configuración adicional Es probable que la razón por la que las herramientas de la línea de comandos de Maven aún funcionan en los proyectos web de MyEclipse es que los chicos de MyEclipse configuran automáticamente a Maven para que reconozca el formato.

También puedes importar los proyectos web de Maven creados externamente, como dije en mi última publicación. No nos gusta hacer eso porque esa estructura es exclusiva de Maven y simplemente no funciona con ninguna herramienta, excepto Maven. Como resultado, básicamente elimina la compatibilidad con la herramienta que se obtiene automáticamente en MyEclipse, Eclipse Java EE o casi cualquier otra herramienta. Es solo un defecto pobre. El formato WAR explotado, utilizado por MyEclipse, Eclipse Java EE, WSAD, RAD y todos los demás, es simplemente una solución mejor. Especialmente cuando todavía funciona bien con Maven también.

Maven fue hecho para ser flexible a la estructura del proyecto. Acabamos de descubrir que al usar esa flexibilidad puede obtener soporte de Maven y también un gran soporte de herramientas.

Dave

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top