java - tutorial - maven no descarga dependencias
Faltan dependencias de maven del ensamblaje de despliegue (10)
Recientemente he actualizado de eclipse 4.4.2 (Luna) a 4.5 (Marte). Mi proyecto web dinámico ahora no incluye las Dependencias de Maven en su conjunto de implementación "Proyecto-> Propiedades-> Conjunto de implementación".
Puedo agregarlos manualmente (usando "Proyecto-> Propiedades-> Conjunto de implementación-> Agregar-> Entradas de ruta de compilación Java-> Dependencias de Maven"), pero cada vez que ejecuto "Proyecto-> Maven-> Actualizar configuración del proyecto", Dependencias de Maven se eliminan de nuevo.
Tenga en cuenta que ejecuto el proyecto utilizando Apache Tomcat Server dentro del IDE de Eclipse.
He instalado
- m2e 1.6.0.20150526-2032
- m2e-wtp 1.2.0.20150602-1740
¿Puede intentar limpiar la configuración siguiendo los pasos a continuación?
- Deshabilitar la naturaleza de Maven de la aplicación:
Right Click Project -> Maven -> Disable Maven Nature
abra cmd, vaya a la ubicación del proyecto, ejecute
mvn clean install eclipse:eclipse -Dwtpversion=2.0
(Este objetivo solo elimina los.project
,.classpath
y.settings/ files/directories
. También puede eliminar esos archivos (nuevamente mientras el proyecto está abierto) en lugar de ejecutarmvn eclipse clean.
Reactivar la naturaleza maven. (La mayoría de las veces, esto se puede hacer haciendo clic derecho en el proyecto en cuestión en el panel del explorador de paquetes, y luego seleccionando
''Configure''-> ''Convert to Maven Project''
)
otras cosas que puedes probar de
1. reimport project into some other workspace
2. resintall eclipse
Si aún así no solucionó tu problema, es probable que tengas que criar a Jira
para eclipsar al equipo.
En mi caso, era un pluginExecutionFilter
en la sección de pluginManagement
en el pom.xml.
La eliminación de la sección para org.apache.maven.plugins:maven-war-plugin
eliminó el problema de las dependencias de Maven que desaparecerían del conjunto de implementación, junto con el problema de que después de agregar las dependencias de Maven manualmente, la implementación también instalaría dependencias de prueba :
<!-- Remove to eliminate vanishing maven dependencies
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-war-plugin
</artifactId>
<versionRange>
[3.0.0,)
</versionRange>
<goals>
<goal>war</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution> -->
Esto no debería tener nada que ver con eclipse y m2eclipse, y opcionalmente para un mejor soporte - m2e-wtp. Además, no es necesario copiar dependencias. Aquí hay algunas razones posibles:
debe invocar el paquete mvn (o hacer clic con el botón derecho> maven> paquete) y obtener un archivo war: el (en el pom) debe ser war
<packaging> war </packaging>
sus dependencias deben estar dentro del alcance predeterminado (si se proporcionan o prueban, no se incluirán en el archivo)
- Si está ejecutando el proyecto como un proyecto web dinámico en un servidor dentro de eclipse, entonces debe abrir las propiedades del proyecto (clic derecho> propiedades) y seleccionar "Implementación de implementación". Haga clic en "agregar", seleccione "compilar entradas de ruta" y elija "dependencias de Maven". Esto le indicará a WTP que envíe las dependencias de maven al directorio del servidor.
Lo que estaba haciendo: estaba reemplazando el archivo web.xml predeterminado con mi propio web.xml.
En el momento en que reemplacé mi web.xml predeterminado (que se crea al crear un nuevo proyecto web de Maven), las Dependencias de Maven desaparecieron de la Asamblea de Implementación. Entonces, en lugar de reemplazar, copié y pegué mi contenido en el web.xml original / predeterminado.
Eso resolvió mi problema.
Mi caso fue el siguiente: ni siquiera pude elegir las "Dependencias de Maven" para la "Asamblea de Implementación".
Finalmente podría (!) Resolverlo de esta manera: haga clic con el botón derecho en el proyecto -> Maven -> Habilitar la resolución del espacio de trabajo
Tenga cuidado de nuevo en "Deployment Assembly" (propiedades del proyecto), si funcionó.
Mi solución fue:
Eclipse> Ventana> Preferencias> Maven> Integración Java EE> Marque "Habilitar configuración Java EE"
Recientemente tuve el mismo problema al igual que su descripción anterior y funcionó de esta manera:
- Haga clic con el botón derecho en el proyecto> Maven> Disable Maven Nature
- haga clic derecho en el proyecto> Configurar> Convertir a proyecto Maven
Luego, llame al proyecto de actualización de Maven, las dependencias de Maven no desaparecerán de la vista de Deployment Assembly nuevamente.
Resolví el mismo problema de esta manera:
- Abre pom.xml y haz Packaging
war
. - Haga clic derecho en el proyecto y seleccione
Maven>Update Project
.
Actualizará el proyecto sin eliminar las Dependencias de Maven de Deployment Assembly; Y si a las Dependencias de Maven les falta, Maven>Update Project
lo agregará automáticamente al proyecto Deployment Assembly
Resolví este problema de la siguiente manera;
copie el contenido del archivo web.xml y guárdelo en algún lugar para su uso posterior.
eliminar el archivo web.xml.
Haga clic con el botón derecho en el proyecto -> Herramientas Java EE -> Generar código auxiliar de descriptor de implementación
el paso 3 generará el archivo web.xml en la carpeta WEB-INF. luego puede pegar el contenido guardado en el paso 1 en el archivo web.xml recién generado.
Después de esto, las dependencias de Maven no se eliminarán del ensamblado de implementación.
Resolví un problema similar haciendo las siguientes acciones en mi proyecto web:
- quitando la naturaleza
- limpiando todos los archivos generados m2e
- añadiendo naturaleza maven
- alt + F5
Nota: tuve este problema después de agregar maven nature a mis proyectos de java para usarlos con m2e en lugar del anterior plugin de eclipse de maven (legado ...)