satisfied one not more have change cannot cambiar both been and eclipse maven jsf configuration

eclipse - one - JavaServer Faces 2.2 requiere Dynamic Web Module 2.5 o más reciente



one or more constraints have not been satisfied (9)

** Abra el pom.xml de su proyecto y agregue esta etiqueta de complemento. Finalmente, haga clic derecho en su proyecto> Maven> Actualizar proyecto ...

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

**

Intenté algunas cosas, pero aún persiste este problema. Estoy usando Eclipse Kepler. Me sale el siguiente error al importar proyecto maven

JavaServer Faces 2.2 no se puede instalar: una o más restricciones no se han cumplido

JavaServer Faces 2.2 requiere Dynamic Web Module 2.5 o más reciente

1) Probé algunas cosas como se mencionó en Maven Java EE Configuration Marker con Java Server Faces 1.2 , pero no tuve suerte. 2) También entré en .settings y modifiqué org.eclipse.wst.common.project.facet.core.xml y modifiqué jst.web para apuntar a la versión 2.5 o 3.0; Pero me salen algunos otros errores.

Estoy tratando de hacer que los ejemplos de Sencha GXT funcionen en maven / eclipse build basado en http://neiliscoding.blogspot.ie/2012/05/how-to-setup-examples-for-use-in-gxt-3.html y Tener este javaserver enfrenta un problema en el eclipse. Aquí está mi pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!-- POM file generated with GWT webAppCreator --> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>xx</artifactId> <groupId>ss</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>guis</artifactId> <packaging>war</packaging> <name>GWT Maven Archetype</name> <properties> <!-- Convenience property to set the GWT version --> <gwtVersion>2.5.1</gwtVersion> <!-- GWT needs at least java 1.5 --> <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.google.gwt.inject</groupId> <artifactId>gin</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-servlet</artifactId> <version>${gwtVersion}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${gwtVersion}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-dev</artifactId> <version>${gwtVersion}</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> <classifier>sources</classifier> <scope>test</scope> </dependency> <dependency> <groupId>com.sencha.gxt</groupId> <artifactId>gxt-chart</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>com.sencha.gxt</groupId> <artifactId>gxt</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>com.sencha.gxt</groupId> <artifactId>uibinder-bridge</artifactId> <version>2.4.0</version> </dependency> </dependencies> <build> <!-- Generate compiled stuff in the folder used for developing mode --> <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory> <plugins> <!-- GWT Maven Plugin --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>2.5.1</version> <executions> <execution> <goals> <goal>compile</goal> <goal>test</goal> <!-- <goal>i18n</goal> --> <goal>generateAsync</goal> </goals> </execution> </executions> <!-- Plugin configuration. There are many available options, see gwt-maven-plugin documentation at codehaus.org --> <configuration> <runTarget>guis.html</runTarget> <hostedWebapp>${webappDirectory}</hostedWebapp> <i18nMessagesBundle>com.harmonia.client.Messages</i18nMessagesBundle> </configuration> </plugin> <!-- Copy static web files before executing gwt:run --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <phase>compile</phase> <!-- <goals> <goal>exploded</goal> </goals> --> </execution> </executions> <configuration> <webappDirectory>${webappDirectory}</webappDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>

Aquí está mi archivo web.xml

<?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> --> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>GXT Created Web Application</display-name> <!-- Default page to serve --> <welcome-file-list> <welcome-file>guis.html</welcome-file> </welcome-file-list>

Como puede ver, probé diferentes dtds en el web.xml anterior, pero todavía tengo el problema. Agradecería cualquier consejo


La solución que encontré para este problema es

1) Haga clic con el botón derecho en Proyecto> Propiedades> Deseleccionar Módulo web dinámico> Aplicar y cerrar.

2) Haga clic derecho en el proyecto> Maven> Actualizar proyecto ...


Me encontré con este problema y la respuesta de Thorbjørn Ravn Andersen no me ayudó, ya que ya estaba en Dynamic Web Module 2.5. Me había topado con este mismo problema años antes y me he rendido. Decidir volver a investigar lo que hice primero fue intentar eliminar el soporte para "Módulo web dinámico" al desmarcarlo, pero ¿está cerrado? Así que lo desbloqueé y lo deshabilité / desactivé. Luego desbloqueé JavaServer Faces, también lo deseleccioné, hice clic en aplicar, ¡sin explosión! Con los dedos cruzados, volví a comprobar Dynamic Web Module y lo puse en 3.1. Luego volví a verificar JavaServer Faces configurándolo en 2.2. Haga clic en la aplicación - no hay "big badda boom", funcionó - ¡ganancias! Espero que esto ayude a cualquier otra persona con el mismo problema y que no se base en ajustar los archivos XML.

Tenga en cuenta que también configuré la versión java facetada en 1.8, así como se requería.


Mi propia solución fue poner la dependencia real en el pom.xml.

Si el proyecto se declara como un Proyecto Web Dinámico 3.1 en las facetas, entonces la dependencia java.servlet-api también tiene que ser la versión 3.1.0 (o 3.1.x).

En mi caso, había dejado la versión 3.0.1, lo que induce este mensaje de error específico en la vista "Problemas":

No se puede cambiar la versión de la faceta del proyecto Dynamic Web Module a 3.0. Una o más restricciones no han sido satisfechas.

(Por supuesto, asegúrese además de que su web.xml también debe ser el 3.1 uno).


Mi proyecto estaba enfrentando el mismo problema. He cambiado el web.xml de la siguiente manera:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name>

El error persistió. Pero después de seguir las sugerencias hechas en el siguiente enlace, el problema se resolvió.

http://crunchify.com/how-to-fix-cannot-change-version-of-project-facet-dynamic-web-module-to-3-0-error-in-eclipse/


Prueba esto: borra tu proyecto en Eclipse. Elimine el proyecto Eclipse, no su aplicación! Debe desaparecer de la lista de proyectos. En el Explorador de Windows, ubique el directorio de su proyecto y elimine los directorios .settings y target (si se encuentran) y elimine los archivos .project y .classpath. De vuelta a Eclipse, importa el proyecto Maven existente. ¡Eso es todo!

Suponiendo que su web.xml tenga el encabezado correcto <web-app> para su versión JSF de destino.


Su problema es que ha marcado su web.xml como compatible con servlet 2.3 (o quizás ni siquiera eso, no estoy seguro de cómo se interpreta su doctype en un comentario)

<?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

y necesita que sea al menos compatible con servlet 2.5 para que funcionen las herramientas de Eclipse.

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

(sin probar - copiado de http://javahowto.blogspot.dk/2009/10/sample-webxml-servlet-25.html )

Es posible que deba volver a crear el proyecto de Eclipse para que los cambios sean recogidos.


También he encontrado esto con los proyectos de Maven. Esto es lo que tenía que hacer para solucionar el problema:

Primero actualiza tu web.xml como se mencionó Thorbjørn Ravn Andersen. Usé la versión 3.0 de la siguiente manera:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Servlet 3.0 Web Application</display-name> </web-app>

Luego haga clic con el botón derecho en su proyecto y seleccione Propiedades -> Facetas del proyecto. Allí verá la versión de su módulo web dinámico. Esto debe cambiar de la versión 2.3 o lo que sea a la versión 2.5 o superior (elegí 3.0).

Sin embargo, para hacer esto tuve que desmarcar la casilla de verificación para el Módulo Web Dinámico -> Aplicar, luego hacer una Actualización de Maven en el proyecto. Vuelva a la ventana de Project Facets y ya debería coincidir con su configuración web.xml - 3.0 en mi caso. Deberías poder cambiarlo si no.

Si esto no funciona para usted, haga clic con el botón derecho en la Faceta del módulo web dinámico y seleccione Cambiar versión (y asegúrese de que no esté bloqueado).

Espero que funcione!


Tuve el mismo problema y en mi web.xml tenía la versión 2.5, mientras que el proyecto tenía (haga clic con el botón derecho en Proyecto-> Propiedades-> Facetas progresivas->) Módulo web dinámico 2.3. Aunque intenté cambiar la versión de 2.3 a 2.5, ECLIPSE no lo permitió.

Solution: Eliminé la marca de verificación bajo el encabezado Módulo web dinámico, guardé y tenía Proyecto de actualización. La reactivación automática es ingresar a la casilla con la versión correcta.