Para un proyecto en el trabajo, estamos considerando usar el complemento Maven para Eclipse para automatizar nuestras compilaciones. En este momento, el procedimiento es mucho más complicado de lo que debería ser, y esperamos que Maven simplifique las cosas a una construcción de un solo clic.
Mi pregunta es, ¿hay un asistente o un importador automático para convertir un proyecto Eclipse Java existente en un proyecto Maven, utilizando el complemento Maven? ¿O debería crear un nuevo proyecto de Maven y copiar manualmente todos los archivos de origen, libs, etc.
Respuestas:
Si solo desea crear un POM predeterminado y habilitar las funciones de m2eclipse: así que supongo que actualmente no tiene una configuración de compilación automática alternativa que está intentando importar, y supongo que está hablando del complemento m2eclipse.
El complemento m2eclipse proporciona una opción de clic derecho en un proyecto para agregar este pom.xml predeterminado:
Nuevas versiones M2E
Haga clic derecho en Proyecto -> submenú Configurar -> Convertir a proyecto Maven
Versiones anteriores de M2E
Haga clic derecho en Proyecto -> submenú Maven -> Habilitar administración de dependencias.
Eso hará lo necesario para habilitar el complemento para ese proyecto.
Para responder ' ¿hay un importador o asistente automático? ': No que yo sepa. El uso de la opción anterior le permitirá habilitar el complemento m2eclipse para su proyecto existente evitando la copia manual. Aún necesitará configurar las dependencias y otras cosas que necesita para construir usted mismo.
fuente
Comience desde m2e 0.13.0 (si no es anterior a), puede convertir un proyecto Java en proyecto Maven desde el menú contextual. Aquí es cómo:
Aquí están los pasos detallados con capturas de pantalla.
fuente
Estaba teniendo el mismo problema y quería Mavenise todo el espacio de trabajo de eclipse que contiene alrededor de 60 proyectos de Eclipse. Hacerlo manualmente requería mucho tiempo y las opciones alternativas no eran tan viables. Para resolver el problema, finalmente creé un proyecto llamado eclipse-to-maven en github. Como eclipse no tiene toda la información necesaria sobre las dependencias, hace lo siguiente:
Basado en
<classpathentry/>
elementos XML en el archivo .classpath, crea las dependencias de otro proyecto, identifica el archivo jar de la biblioteca y en función de su nombre (por ejemplo, jakarta-oro-2.0.8.jar) identifica su versión. ActualmenteartifactId
ygroupId
son los mismos, no pude encontrar algo que pudiera devolverme el ID de grupo Maven de la dependencia basada enartifactId
. Aunque esta no es una solución perfecta, proporciona un buen terreno para acelerar la mavenización.Mueve todas las carpetas de origen según la convención de Maven (como
src/main/java
)Como los proyectos de Eclipse que tienen nombres con espacios son difíciles de manejar en el entorno Linux / Unix, también los renombra con nombres sin espacios.
Los archivos pom.xml resultantes contienen las dependencias y la estructura básica de pom. Debe agregar los complementos Maven necesarios manualmente.
fuente
.classpath
y.project
archivos)? ¿Podría agregar a su respuesta cómo usar su complemento para mavenizar un proyecto JavaSE simple y cuáles serían los cambios reales en la estructura del directorio?Haga clic derecho en el nombre del proyecto> Configurar> Convertir en proyecto Maven> haga clic en finalizar. Aquí agregará algunas dependencias para descargar y agregar su archivo jar esperado.
Esto creará un archivo pom.xml generado automáticamente. Abra ese archivo en formato xml en su editor de eclipse. Después de construir la etiqueta (
</build>
), agregue sus dependencias que puede copiar del sitio web de Maven y agréguelas allí. Ahora estás listo para irte. Estas dependencias agregarán automáticamente los archivos jar necesarios.fuente
La respuesta de Chengdong es correcta, deberías usarla
Configure>Convert to Maven Project
. Sin embargo, debo agregar que el proceso de conversión se ha mejorado mucho ya que m2e 0.13.0: m2e 1.1+ y m2e-wtp 0.16.0+ ahora pueden convertir la configuración de eclipse existente en la configuración del complemento maven .En cuanto a la conversión de dependencias, puede probar la función de integración Maven de JBoss Tools (JBT) 4.0, que contiene un asistente de conversión experimental, conectado al proceso de conversión de m2e: http://docs.jboss.org/tools/whatsnew/maven/ maven-news-4.0.0.Beta1.html .
No pretende ser la solución definitiva (nada puede), ya que debería ser de gran ayuda para iniciar el proceso de conversión de Maven.
Además, para su información, aquí hay algunas ideas para mejorar el proceso de conversión de m2e , la refactorización para usar un diseño Maven probablemente se implementará en el futuro.
JBT 4.0 (requiere Eclipse JavaEE Juno) se puede instalar desde http://download.jboss.org/jbosstools/updates/stable/juno/ o desde Eclipse Marketplace
fuente
Es necesario porque, más o menos, cuando importamos un proyecto desde git, no es un proyecto maven, por lo que las dependencias maven no están en la ruta de compilación.
Esto es lo que he hecho para convertir un proyecto general en un proyecto maven.
proyecto general -> proyecto java haga clic derecho en el proyecto, propiedades-> facetas del proyecto, haga clic en "java". Este paso convertirá un proyecto general en proyecto java.
proyecto java -> proyecto maven haga clic con el botón derecho en el proyecto, configurar -> convertir a proyecto maven En este momento, las dependencias de maven lib todavía no están en la ruta de compilación. propiedades del proyecto, ruta de compilación, agregar biblioteca, agregar dependencias de maven lib
¡Y espere unos segundos, cuando se cargan las dependencias, el proyecto está listo!
fuente
Hay un programa de línea de comandos para convertir cualquier proyecto Java en un proyecto SBT / Maven.
Resuelve todos los frascos e intenta averiguar la versión correcta basada en la suma de comprobación SHA, classpath o nombre de archivo. Luego intenta compilar las fuentes hasta que encuentra una configuración de trabajo. También se pueden asignar tareas personalizadas para ejecutar por configuración de dependencia.
https://bitbucket.org/mnyx/universalresolver
fuente
Hasta donde sé, no hay nada que convierta automáticamente un proyecto Eclipse en un proyecto Maven (es decir, modifique el diseño, cree un POM, "genere" y lo alimente con metadatos, detecte bibliotecas y sus versiones para agregarlos al POM , etc.) Eclipse simplemente no tiene suficientes metadatos para hacer esto posible (este es precisamente el objetivo del POM) y / o para producir un resultado decente.
Esa sería la mejor opción en mi opinión. Cree un proyecto Maven, copie / mueva fuentes, recursos, pruebas, pruebe recursos en sus respectivos directorios, declare dependencias, etc.
fuente
Para convertir a Gradle es análogo a Maven:
Haga clic derecho en Proyecto -> submenú Configurar -> Convertir a Proyecto Gradle (STS)
fuente