web-dev-qa-db-fra.com

Tomcat version 7.0 prend uniquement en charge les modules Web J2EE 1.2, 1.3, 1.4 et Java EE 5 et 6.

J'essaie de déployer un projet HTTPServlet très simple à l'aide de Tomcat 7 dans ma perspective Eclipse J2EE. Je reçois le message d'erreur "Tomcat version 7.0 prend uniquement en charge les modules Web J2EE 1.2, 1.3, 1.4 et Java EE 5 et 6". J'ai déjà essayé de modifier mon fichier org.Eclipse.wst.common.project.facet.core.xml comme indiqué dans le fichier ici mais cela ne semble pas résoudre le problème. Je peux très bien me déployer en utilisant fichier-> exporter ->. War directement sur mon serveur Tomcat installé. Des idées?

18
Jason

Tomcat n'est pas un serveur d'applications conforme à Java EE, vous n'aurez donc pas d'EJB ou de CDI prêt à l'emploi ici. Au lieu de cela, utilisez JBoss Wildfly ou TomEE qui sont construits sur Tomcat. Ou passez à une autre implémentation Java EE complète telle que GlassFish .

Une autre option peut être si vous déployez directement dans Tomcat. Eclipse se déploie par défaut sur un dossier différent et utilise une sorte de contournement pour le voir déployé sur Tomcat. Suivez ces étapes:

  1. Dans votre Eclipse, accédez à la vue Serveurs (si elle n'est pas visible dans l'EDI, accédez à Fenêtre/Afficher vue/Serveurs). Elle affiche votre serveur Tomcat (et d'autres), puis double-cliquez dessus.
  2. Dans la fenêtre de présentation de Tomcat, vérifiez le panneau Emplacements des serveurs, développez-le et vérifiez où la Webapp est déployée.
  3. Si l'option sélectionnée est Utiliser l'installation de Tomcat, l'application Web doit être au format <Tomcat>/webapps. Sinon, assurez-vous de sélectionner cette option et l'application sera déployée directement sur le dossier Tomcat.
7
Luiggi Mendoza

Accédez à Propriétés du projet -> Facettes du projet et modifiez la version du module Web dynamique. S'il est défini sur 3.1, remplacez-le par 3.0. Si cela ne vous permet pas de changer de version, décochez-la et cliquez sur appliquer. Ensuite, vous pouvez sélectionner la version, la vérifier et appliquer-OK . Travaillé pour moi!

20
Piyush Vashisht

Oui, en utilisant Maven, projet Spring avec conformité Java EE, nous sommes confrontés à ce problème avec Tomcat. Pour résoudre ce problème, exécutez la liste des commandes afin de rendre le projet conforme à Java EE.

  1. $ mvn Eclipse:clean - pour nettoyer les fichiers Eclipse comme .project .classpath
  2. $ mvn Eclipse:eclipse -Dwtpversion=2.0 pour créer Eclipse compatible avec Java EE.

Enfin, ouvrez le projet dans Eclipse, sélectionnez le serveur Tomcat et cliquez sur Exécuter sur les serveurs (Alt + Maj + x, R), puis sélectionnez Tomcat7.0.

20
Pavan

Si vous obtenez le message d'erreur "Tomcat version 7.0 ne prend en charge que les modules Web J2EE 1.2, 1.3, 1.4 et Java EE 5 et 6", lors de la tentative d'ajout de projet à Tomcat 7. Simplement,

Faites un clic droit sur le projet -> allez sur les facettes du projet -> décochez le module Web symbolique (qui devrait être 3.1) -> appliquer -> puis changez le module Web dynamique en 3.0 -> appliquez puis enregistrez. 

Essayez d'ajouter maintenant et cela devrait fonctionner.

6
Harsha Thota

Pour Tomcat Version 6

Dans le projet, .settings folder OR ou CTRL + SHIFT + R: trouver ce fichier 

org.Eclipse.wst.common.project.facet.core.xml

change la version de facet = jst.web en 2.4 ou 2.5

Fichier: org.Eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="jst.Java"/>
  <fixed facet="jst.web"/>
  <installed facet="jst.web" version="2.4"/>
  <installed facet="jst.Java" version="6.0"/>
</faceted-project>

Tomcat 7 Vous avez besoin de facet = "jst.web" version = "3.0" pour le déploiement sur Tomcat 7.

5
Ankit Pandey

1) Accédez à votre projet dans le dossier de l’espace de travail Eclipse.
2) Ouvrez le dossier .setting
3) Ouvrez le fichier xml "org.Eclipse.wst.common.project.facet.core"
4) Mettez à jour la version de la dernière ligne en 2.4 ou 2.5
5) Actualisez le projet et essayez de l'exécuter sur le serveur

4
ggwp

Ce problème peut être résolu en modifiant la version du module Web dynamique en 3.0. Cela peut être fait de 2 manières. 

  1. Allez dans les propriétés du projet et cliquez sur les facettes du projet. L'option Dynamic Web Module s'affiche, passez à la version 3.0. 

  2. Pour ceux qui ne peuvent pas changer la version à l'étape ci-dessus, ouvrez org.Eclipse.wst.common.project.facet.core.xml et changez la version ici en quelque chose comme <installed facet="jst.web" version="3.0"/> 

Maintenant, allez aux facettes du projet et voyez la version Dynamic Web Module remplacée par 3.0

0
mannedear

Pour résoudre ce problèmeVous devrez mettre à jour votre version Dynamic Web Module à partir de 3.1 to 3.0. Eclipse n'autorise pas cette mise à jour directement via Build Path-->Configure Build Path-->Project Facets.

Suivez ces étapesOpen file: YourPrjectFolder/.setting/org.Eclipse.wst.common.project.facet.core

  1. Dans le dossier du projet, allez au dossier .settings.
  2. Ouvrez le document XML org.Eclipse.wst.common.project.facet.core.
  3. Editez la ligne <installed facet="jst.web" version="3.1"/> à <installed facet="jst.web" version="3.0"/>
  4. Enregistrez les modifications.
  5. Allez à Eclipse et actualisez le projet.

Vous pourrez maintenant publier votre projet sur Tomcat 7.

0
darvycode

Je pensais ajouter quelque chose à cette question car j'essayais tout ce qui précède et finissais par faire quelque chose de différent pour résoudre mon problème de:

Tomcat version 7.0 prend uniquement en charge les modules Web J2EE 1.2, 1.3, 1.4 et Java EE 5 et 6  

qui a ensuite également conduit à 

Impossible de modifier la version de la facette du projet Dynamic Web Module vers la version 3.0

Dans notre projet, nous utilisons Maven pour créer une application Java 1.8/Tomcat 8.5 (qui prend uniquement en charge le module Web dynamique version 3.0 - et non 4.0). 

Quelqu'un de notre équipe a apporté le changement suivant à notre parent pom.xml

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

La version avait été déplacée de 3.0.1 à 4.0.0 et peu importe le nombre de fois où j'ai essayé d'écraser manuellement org.Eclipse.wst.common.project.facet.core.xml avec la bonne version <installed facet="jst.web" version="3.0"/>, une mise à jour Maven l'a réécrite avec 4.0 .

Je remets la version 3.0.1 comme indiqué ci-dessous et depuis lors, mes facettes de projet affichent la version correcte, mes applications sont déployées sur mon serveur Tomcat interne et, à ce jour, personne ne reconnaît la mise à jour. version 4.0.0 :)

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.0.1</version>
  <scope>provided</scope>
</dependency>
0
thonnor