plugin para oxygen for and eclipse maven m2e dwm

eclipse - para - Maven Java EE Marker de configuración con Java Server Faces 1.2



maven in eclipse oxygen (11)

Estoy teniendo un problema de configuración extraño con Maven en Eclipse. Aunque puedo compilar el proyecto e implementarlo en tomcat sin ningún error, la pestaña Marcador sigue mostrando el siguiente mensaje:

[-] Maven Java EE Configuration Problem (x) JavaServer Faces 1.2 can not be installed : One or more constraints have not been satisfied. (x) JavaServer Faces 1.2 requires Dynamic Web Module 2.5 or newer.

De hecho, estoy usando Dynamic Web Module 2.4, que sería la fuente del mensaje. Necesitaría cambiarlo a al menos 2.5 para que funcione con JSF. El problema es que ni siquiera estoy usando JSF.

Entonces, probablemente una de las dependencias del proyecto lo necesita. Ejecuté el siguiente comando para encontrar el árbol de dependencias para mi proyecto:

mvn dependency:tree -DoutputFile=<i>/path/to/outputFile/dependencies.txt</i>

y sorpresa! No se menciona JSF 1.2.

EDITAR Olvidé agregar la configuración de mi PC:

Sistema operativo: Ubuntu 12.10

Eclipse: 4.2 SR1

Java: jdk1.5.0_22 y jdk1.7

Apache Maven: 3.0.4

Maven home: / usr / share / maven

m2e: 1.3.1.20130219-1424

m2e-wtp: 0.17.0.20130212-1821

Ninguno de mis compañeros de trabajo tiene este problema. Dos de ellos usan Windows, dos usan Ubuntu 12.10. Uno de ellos usa Eclipse 4.2, otros usan Eclipse 3.7. Aparentemente, esto tiene que ver con 4.2SR1 o con la configuración de mi proyecto. Pero no puedo encontrar dónde está el problema.

Aquí está mi archivo pom.xml:

<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"> <modelVersion>4.0.0</modelVersion> <groupId>edited</groupId> <artifactId>edited</artifactId> <packaging>war</packaging> <version>edited</version> <name>edited</name> <distributionManagement> <repository> <id>deployment</id> <name>Internal Releases</name> <url>http://edited/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>deployment</id> <name>Internal Releases</name> <url>http://edited/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> <dependencies> <!-- Testes com Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> <scope>test</scope> </dependency> <!-- Testes Funcionais com cucumber-jvm --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-spring</artifactId> <version>1.1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.1.1</version> <scope>test</scope> </dependency> <!-- Mockito para criar mocks e stubs --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.9.5</version> </dependency> <!-- Fixture Factory Test Data Builder --> <dependency> <groupId>br.com.fixturefactory</groupId> <artifactId>fixture-factory</artifactId> <version>2.1.0-SNAPSHOT</version> <scope>test</scope> </dependency> <!-- Jasper Reports --> <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>4.5.1</version> </dependency> <!-- Struts 2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.2.1.1</version> </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> <artifactId>xwork-core</artifactId> <version>2.2.1.1</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-tiles-plugin</artifactId> <version>2.2.1.1</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> <version>2.2.1.1</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-jasperreports-plugin</artifactId> <version>2.2.1.1</version> </dependency> <!-- Banco de dados Mysql + Hibernate + c3p0 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.22</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.3.1.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.4.0.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>3.1.0.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency> <!-- <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.7</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.6</version> </dependency> --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>3.6.10.Final</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.3.GA</version> </dependency> <!-- Servlet API --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>servlet-api</artifactId> <version>6.0.36</version> </dependency> <!-- Especificação do Java EE --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>javaee</groupId> <artifactId>javaee-api</artifactId> <version>5</version> <scope>provided</scope> </dependency> <!-- Logging --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.2</version> </dependency> <!-- Apache Commons --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.8.3</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.6</version> </dependency> <!-- Templating --> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-core</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-api</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-servlet</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-template</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-compat</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker-gae</artifactId> <version>2.3.19</version> </dependency> <!-- Quartz Scheduler --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.6</version> </dependency> <!-- Geração de Código --> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>2.2.2</version> </dependency> <!-- Xstream --> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.3</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.0.6.RELEASE</version> <type>jar</type> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.1.8</version> </dependency> <!-- RestEasy --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.0.1.GA</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>2.0.1.GA</version> </dependency> <!-- Xfire --> <dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-mock</artifactId> </exclusion> </exclusions> </dependency> <!-- JQuery --> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>1.9.1</version> </dependency> </dependencies> <build> <finalName>edited</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <encoding>ISO-8859-1</encoding> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> </project>

¿Como puedo resolver esto?


Debe verificar las facetas de su proyecto en la configuración del proyecto. Aquí es donde puede desmarcar la dependencia de JSF.


El plugin m2e genera la configuración del proyecto cada vez que actualiza un proyecto (Maven-> Update Project ... Esa acción anula la configuración de las facetas configurada manualmente en Eclipse. Por lo tanto, debe configurarla en el nivel pom. Al establecer las propiedades en el archivo pom puede decir plugin m2e qué hacer.

Habilite / deshabilite los configuradores JAX-RS / JPA / JSF en el nivel pom.xml Los configuradores JAX-RS, JPA y JSF opcionales se pueden activar o desactivar en un nivel de espacio de trabajo desde Ventana> Preferencias> Maven> Integración Java EE. Ahora, puede tener un control de grano más fino en estos configuradores directamente desde sus propiedades pom.xml:

Agregar falso en la sección de propiedades de pom deshabilitará el configurador JAX-RS. Agregar falso en la sección de propiedades de pom deshabilitará el configurador JPA Agregar falso en la sección de propiedades de pom deshabilitará el configurador JSF. Las configuraciones pom siempre anulan las preferencias de área de trabajo. Entonces, si tiene, por ejemplo, el configurador JPA deshabilitado en el nivel de espacio de trabajo, usar true lo habilitará en su proyecto de todos modos. ( http://wiki.eclipse.org/M2E-WTP/New_and_Noteworthy/1.0.0 )


Yo también tuve el mismo problema.

La solución para mí fue agregar lo siguiente en el pom.xml como se sugiere aquí .

<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>


Tuve un problema similar. Estaba trabajando en un proyecto en el que no controlaba el archivo de configuración web.xml, por lo que no pude usar los cambios sugeridos para modificar la versión. Por supuesto, el proyecto no estaba usando JSF, así que esto fue especialmente molesto para mí.

Descubrí que hay una solución realmente simple . Vaya a Preferencias> Maven> Itegración Java EE y desmarque la casilla "Configurador JSF".

Hice esto en un nuevo espacio de trabajo antes de volver a importar el proyecto, pero puede funcionar igual de bien en un proyecto existente ... no estoy seguro.


He encontrado esto con proyectos de Maven también. Esto es lo que tuve que hacer para evitar el problema:

Primero actualiza tu web.xml

<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>

Luego haga clic derecho en su proyecto y seleccione Propiedades -> Project Facets. Allí verá la versión de su Dynamic Web Module. Esto necesita cambiar de la versión 2.3 o cualquiera a la versión 2.5 o superior (elegí 3.0).

Sin embargo, para hacerlo tuve que desmarcar la casilla de verificación del Módulo web dinámico -> Aplicar, luego hacer una actualización de Maven en el proyecto. Regrese a la ventana 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, intente hacer clic derecho en la faceta del módulo web dinámico y seleccione cambiar la versión (y asegúrese de que no esté bloqueada).

O puede seguir estos pasos:

  1. Ventana> Mostrar vista> Otro> General> navegador
  2. Hay una carpeta .settings debajo de su directorio de proyectos
  3. Cambie la versión del módulo web dinámico en esta línea a 3.0
  4. Cambie la versión de Java en esta línea a 1.5 o superior

no olvides actualizar tu proyecto

Espero que eso funcione!


Después de cambiar los lotes en mi POM y actualizar mi JDK, recibía la frase "Una o más restricciones no se han cumplido" relacionadas con Google App Engine. La solución fue eliminar la configuración del proyecto Eclipse y volver a importarla .

En OS X, hice esto en Terminal al cambiar al directorio del proyecto y

rm -rf .project rm -rf .settings


Eclipse tiene errores en la pantalla de factes y, a veces, no actualiza los archivos de configuración en el área de trabajo. Hay dos opciones que uno puede probar:

  1. Vaya al archivo org.eclipse.wst.common.project.facet.core.xml ubicado dentro de la carpeta .settings del proyecto eclipse. Ir y eliminar manualmente la entrada de faceta JSF. también puedes actualizar otras facetas.

  2. Haga clic derecho en el proyecto y vaya a propiedades-> Maven -> Java EE Integeration. elija opciones: habilite las configuraciones específicas del proyecto, habilite la configuración de Java EE, el archivador Maven genera archivos en el directorio de compilación


Yo tuve el mismo problema. Después de agregar dependencias de velocidad en mi proyecto de maven, estaba obteniendo el mismo error en la pestaña del marcador. Luego noté que el archivo web.xml que crea el proyecto maven tiene el esquema servlet2.3. Cuando lo cambié al esquema Servlet 3.0 y guardo el proyecto, este error desapareció. Aquí está el archivo web.xml que maven crea

<!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> <display-name>Archetype Created Web Application</display-name> </web-app>

Cambiarlo a

<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> </web-app>

guarde el proyecto, y su error desaparecería.


Los pasos a continuación deberían ser la solución simple a su problema

  1. Proyecto-> Propiedades-> ProjectFacet -> Desmarque jsf apply y OK.
  2. Proyecto-> Maven-> UpdateProject -> Esto resolverá el problema.

Mientras está en Actualización del Proyecto, Maven elegirá automáticamente el módulo web dinámico



la misma solución que Basit ... pero la versión 3.0 no funciona para mí, pruebe esto ... me sirve para integrar struts 2.x

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>blabla</display-name> ... </web-app>