Maven Java EE Configuration Marker with Java Server Faces 1.2

j'ai un problème de configuration avec Maven dans Eclipse. Bien que je puisse construire le projet et le déployer sur tomcat sans aucune erreur, l'onglet marqueur continue à afficher le message suivant:

[-] 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.

j'utilise en fait Dynamic Web Module 2.4, qui serait la source du message. J'aurais besoin de le changer à au moins 2,5 pour travailler avec JSF. Le problème, c'est que je n'utilise même pas JSF.

donc, probablement l'un des dépendances besoins. J'ai lancé la commande suivante pour trouver l'arbre de dépendances de mon projet:

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

et surprise! Pas de JSF 1.2 mentionnée.

EDIT J'ai oublié d'ajouter ma configuration PC:

OS: Ubuntu 12.10

Eclipse: 4.2 SR1

Java: jdk1.5.0_22 et jdk1.7

Apache Maven: 3.0.4

Maven à la maison: /usr/share / maven 151940920"

m2e: 1.3.1.20130219-1424

m2e - wtp: 0.17.0.20130212-1821

aucun de mes collègues n'a ce problème. Deux d'entre eux utilisent Windows, deux utilisent Ubuntu 12.10. L'un d'eux utilise Eclipse 4.2, d'autres utilisent Eclipse 3.7. Donc, apparemment, c'est a faire avec 4.2SR1 ou avec mon projet d'installation. Mais je ne trouve pas où est le problème.

Voilà mon pom.fichier 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>

comment résoudre cela?

26
demandé sur Tarek 2013-02-27 18:48:23

11 réponses

j'ai eu le même problème. Après avoir ajouté des dépendances de vitesse dans mon projet maven, j'ai eu la même erreur dans l'onglet marqueur. Ensuite, j'ai remarqué que le web.le fichier xml que maven project crée a servlet2.3 Schéma. Quand je l'ai changé en schéma servlet 3.0 et que j'ai sauvegardé le projet, cette erreur a disparu. Ici, c'est le web.fichier xml que maven crée

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

changer pour

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

sauvez le projet, et votre erreur disparaîtrait.

41
répondu Basit 2015-11-05 13:53:51

moi aussi j'ai eu le même problème.

la solution pour moi était d'ajouter la suite dans le pom.xml , comme l'a suggéré ici .

<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>
16
répondu Anil Bharadia 2013-10-15 17:44:09

j'ai eu un problème similaire. Je travaillais sur un projet où je ne contrôlais pas le web.fichier de configuration xml, donc je ne pouvais pas utiliser les modifications suggérées sur la modification de la version. Bien sûr, le projet n'utilisait pas le JSF, donc c'était particulièrement ennuyeux pour moi.

j'ai trouvé qu'il y est un solution très simple . Allez dans Préférences > Maven > Java EEE Integration et décochez la case "configurateur JSF".

j'ai fait cela dans un nouvel espace de travail avant d'importer le projet à nouveau, mais cela peut fonctionner aussi bien sur un projet existant ... pas sûr.

10
répondu Mangusta 2014-12-05 21:16:57

j'ai rencontré cela aussi avec Maven projects. C'est ce que j'avais à faire pour contourner le problème:

mettez D'abord votre site à jour.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>

cliquez ensuite avec le bouton droit de la souris sur votre projet et sélectionnez Propriétés -> facettes du projet.vous y verrez la version de votre module Web dynamique. Cela doit passer de la version 2.3 ou autre à la version 2.5 ou supérieure (j'ai choisi 3.0).

cependant pour ce faire, j'ai dû décocher la case à cocher pour Dynamic Web Module -> Apply, puis faire une mise à jour Maven sur le projet. Retournez dans la fenêtre des facettes du projet et il devrait déjà correspondre à votre web.configuration xml - 3.0 dans mon cas. Vous devriez être en mesure de le changer si pas.

si cela ne fonctionne pas pour vous, alors essayez de faire un clic droit sur la facette du Module Web dynamique et sélectionnez Modifier la version (et assurez-vous qu'elle n'est pas verrouillée).

Ou vous pouvez suivre ces étapes:

  1. fenêtre > Show View > Other > General > navigator
  2. Il y a un .dossier Paramètres dans votre répertoire de projet
  3. changer la version du module Web dynamique dans cette ligne à 3.0
  4. changer la version Java de cette ligne à 1.5 ou plus

n'oubliez pas de mettre à jour votre projet

Espère que fonctionne!

8
répondu Fakher 2015-03-02 15:22:06

après avoir changé de lots dans ma POM et mis à jour mon JDK, j'ai obtenu le" une ou plusieurs contraintes n'ont pas été satisfaites " liés à Google App Engine. La solution était de supprimer les paramètres du projet Eclipse et réimporter .

sur OS X, Je l'ai fait dans Terminal en changeant au répertoire de projet et

rm -rf .project
rm -rf .settings
4
répondu BrianHenryIE 2015-03-27 17:28:57

vous devez vérifier les facettes de votre projet dans la configuration du projet. C'est là que vous pouvez décocher la dépendance de JSF.

enter image description here

2
répondu Torsten 2013-02-28 09:46:09

le plugin M2E génère la configuration du projet à chaque fois que vous mettez à jour le projet (Maven->Update Project ... Cette action supplante le paramétrage des facettes configuré manuellement dans Eclipse. Par conséquent, vous devez le configurer sur pom. En définissant les propriétés dans le fichier pom, vous pouvez dire au plugin M2E ce qu'il faut faire.

Activer/Désactiver les configurateurs JAX-RS/JPA / JSF au pom.niveau xml Les configurateurs optionnels JAX-RS, JPA et JSF peuvent être activés ou désactivés dans un espace de travail niveau de la fenêtre > Préférences > Maven > intégration Java EE. Maintenant, vous pouvez avoir un contrôle de grain plus fin sur ces configurateurs directement à partir de votre pom.propriétés xml:

ajouter false dans votre section Propriétés pom désactivera le configurateur JAX-RS L'ajout de false dans votre section Propriétés pom désactivera le configurateur JPA L'ajout de false dans votre section de propriétés pom va désactiver le configurateur JSF Les paramètres pom annulent toujours les préférences de l'espace de travail. Donc, si vous avez, par exemple, désactivé le configurateur JPA au niveau de l'espace de travail, utiliser true l'activera sur votre projet de toute façon. ( http://wiki.eclipse.org/M2E-WTP/New_and_Noteworthy/1.0.0 )

2
répondu m2lit 2013-10-10 14:51:46

Eclipse est bogué sur l'écran factes et ne met parfois pas à jour les fichiers de configuration dans l'espace de travail. Il y a deux options que l'on peut essayer :

  1. Aller à la org.Eclipse.wst.commun.projet.facette.core.fichier xml situé à l'intérieur .dossier des paramètres du projet eclipse. Allez et supprimez manuellement l'entrée de la facette JSF. vous pouvez également mettre à jour d'autres facettes.

  2. clic droit projet et aller à propriétés - >Maven-- > intégration Java EE. choisir les options : activer les paramètres spécifiques au projet, activer la configuration Java EE, Maven archiver génère des fichiers dans le répertoire de compilation

1
répondu Arvind Panwar 2015-05-20 09:44:33

la même solution que Basit .. mais la version 3.0 ne fonctionne pas pour moi essayez ceci .. il fonctionne pour moi d'intégrer des entretoises 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>
0
répondu Soufiane ELH 2017-05-23 12:10:41

c'est un fil plus ancien,mais je vais poster ma réponse pour les autres. Je dois recréer le projet dans un autre espace de travail après les changements pour le faire fonctionner, comme discuté dans JavaServer Faces 2.2 nécessite le module Web dynamique 2.5 ou plus récent

0
répondu kashili kashili 2017-05-23 12:34:50

Les étapes ci-dessous devraient être la solution simple à votre problème

  1. Projet->Propriétés->ProjectFacet-->Décocher la case jsf appliquer et OK.
  2. Projet->Maven->UpdateProject-->Cela va résoudre le problème.

ici lors de la mise à jour du projet Maven choisira automatiquement le module Web dynamique

0
répondu sk vysakh 2016-04-16 10:23:37