tutorial mvc mundo hola framework example eclipse spring maven spring-mvc

eclipse - mvc - Dynamic Web Module 3.0-3.1



spring mvc example (8)

1) Vaya a su proyecto y encuentre el directorio ".settings" este
2) Abra el archivo xml llamado:
org.eclipse.wst.common.project.facet.core.xml
3)

<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="wst.jsdt.web"/> <installed facet="java" version="1.5"/> <installed facet="jst.web" version="2.3"/> <installed facet="wst.jsdt.web" version="1.0"/> </faceted-project>

Cambie la versión de jst.web a 3.0 y la versión de Java a 1.7 o 1.8 (base en su actual versión de jdk)

4) Cambie su archivo web.xml en el directorio WEB-INF , consulte este artículo:
https://www.mkyong.com/web-development/the-web-xml-deployment-descriptor-examples/
5) Ve al archivo pom.xml y pega estas líneas:

<build> <finalName>YOUR_PROJECT_NAME</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> THIS IS YOUR USING JDK''s VERSION <target>1.8</target> SAME AS ABOVE </configuration> </plugin> </plugins> </build>

Tengo una aplicación web Primavera 3.2.4 configurada basada en código mavenizada. Cuando construyo la aplicación con Maven / pom.xml primero recibo un error que dice que falta web.xml. primero intenté crear un web.xml vacío. este fue el momento en que las facetas del proyecto cambiaron (y no sé por qué). Cambió de Dynamic Web Module 3.0 a 3.1 y esto es irreversible. ¿Cómo puedo cambiarlo nuevamente en Dynamic Web Modules 3.0 ???

Además, no puedo eliminar el JAX-RS. Al probar esto, resulta en:

Failed while uninstalling JAX-RS (REST Web Services) 1.0. org.eclipse.jst.javaee.web.internal.impl.WebAppImpl cannot be cast to org.eclipse.jst.j2ee.webapplication.WebApp

Más tarde descubrí que puedo evitar el error de compilación de Maven insertando el plugin correspondiente en pom.xml:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin>


Abrí el proyecto org.eclipse.wst.common.project.facet.core.xml y cambié primero y luego eliminé la línea con la etiqueta del módulo web. Proyecto limpio y lanzado en Tomcat cada vez, pero aún no se ejecutó. Línea devuelta (como era) y proyecto limpio. Se abrió la configuración de Tomcat en Eclipse y se agregó el proyecto manualmente al inicio de Tomcat (clic con el botón derecho + Agregar y quitar). Hizo clic en el proyecto y seleccionó Ejecutar en el servidor ... y todo estuvo bien.


Abra las propiedades del proyecto Eclipse, en Project Facets deseleccione "Dynamic Web Module", ... Haga clic en Aceptar Maven -> Actualizar proyecto


En un caso específico, el problema se debe a maven-archetype-webapp que se lanza para una aplicación web dinámica, facetada según la versión 2.5 (vea el archivo web.xml producido y el xsd relacionado) y está relacionada con el eclipse. Cuando intente cambiar la faceta del proyecto a la aplicación web dinámica> 2.5, la estructura de carpetas src cambiará sintácticamente (el 2.5 es diferente de 3.1), pero no físicamente.

Esta es la razón por la que se enfrentará en una excepción de puntero nulo si se aplica a los cambios.

Para resolverlo, debe configurar desde la configuración de facetas del proyecto la configuración predeterminada. Aplique los cambios, luego vaya a Java Build Path y tendrá que eliminar la carpeta / src y crear la carpeta / src / main / java como mínimo (también se requiere / src / main / resources y / src / test / java para ser conforme) vuelva a cambiar a la configuración requerida que desee (3.0, 3.1) y luego aplique.


Me estaba ejecutando en Win7, Tomcat7 con configuración maven-pom en Eclipse Mars con el proyecto maven habilitado. En un servidor que NO se ejecuta, solo tuve que cambiar de 3.1 a 3.0 en esta pantalla:

¡Para mí era importante tener el Módulo web dinámico deshabilitado! Luego cambie la versión y luego habilite Dynamic Web Module nuevamente.


Si desea utilizar la versión 3.1, debe usar el siguiente esquema:

  • http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd

Tenga en cuenta que 3.0 y 3.1 son diferentes: en 3.1 no se menciona Sun, por lo que simplemente cambiar 3_0.xsd a 3_1.xsd no funcionará.

Así es como debería verse:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"> </web-app>

Además, asegúrese de estar dependiendo de las últimas versiones en su pom.xml . Es decir,

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> ... </configuration> </plugin>

y

<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>

Finalmente, debe compilar con Java 7 u 8:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin>


Tuve el mismo problema y solucioné esto editando org.eclipse.wst.common.project.facet.core.xml.

En este archivo, pude cambiar la siguiente línea

<installed facet="jst.web" version="3.1"/>

de regreso

<installed facet="jst.web" version="3.0"/>

Eso pareció arreglar el problema para mí.


Tuve problemas similares en eclipse y la única forma de solucionarlo fue

  • Eliminar el módulo web
  • Aplicar
  • Cambiar la versión del módulo
  • Agregar el módulo
  • Configurar (enlace de configuración adicional disponible en la parte inferior del cuadro de diálogo)
  • Aplicar

Solo asegúrese de configurar el módulo web antes de aplicarlo, ya que de manera predeterminada buscará sus archivos web en / WebContent / y esta no es la estructura del proyecto Maven.

EDITAR :

Aquí hay una segunda forma en caso de que nada más ayude

  • Salga del eclipse, vaya a su proyecto en el sistema de archivos, luego a la carpeta .settings.
  • Abra org.eclipse.wst.common.project.facet.core.xml , haga una copia de seguridad y elimine la entrada del módulo web.
  • También puede modificar la versión del módulo web allí, pero nuevamente, no hay garantías.