wake-up-neo.com

Tomcat Version 7.0 unterstützt nur die Webmodule J2EE 1.2, 1.3, 1.4 und Java EE 5 und 6

Ich versuche, ein sehr einfaches HTTPServlet-Projekt mit Tomcat 7 in meiner Eclipse J2EE-Perspektive bereitzustellen. Ich erhalte die Fehlermeldung "Tomcat Version 7.0 unterstützt nur die Webmodule J2EE 1.2, 1.3, 1.4 und Java EE 5 und 6". Ich habe bereits versucht, meine org.Eclipse.wst.common.project.facet.core.xml wie angegeben here zu ändern, aber das Problem scheint nicht behoben zu werden. Ich kann mit dem File-> Export-> .War direkt auf meinem installierten Tomcat-Server implementieren. Irgendwelche Ideen?

18
Jason

Tomcat ist kein Java EE-kompatibler Anwendungsserver, daher gibt es hier keine EJB- oder CDI-Standards. Verwenden Sie stattdessen JBoss Wildfly oder TomEE , die auf Tomcat aufgebaut sind. Oder wechseln Sie zu einer komplett anderen Java EE-Implementierung wie GlassFish .

Eine andere Option könnte sein, wenn Sie direkt in Tomcat bereitstellen. Eclipse stellt standardmäßig einen anderen Ordner bereit und verwendet eine Art Umgehung, um die Bereitstellung auf Tomcat anzuzeigen. Folge diesen Schritten:

  1. Gehen Sie in Ihrem Eclipse zur Server-Ansicht (wenn dies nicht in der IDE sichtbar ist, gehen Sie zu Fenster/Ansicht/Server anzeigen). Es zeigt Ihnen Ihren Tomcat-Server (und andere) und doppelklicken Sie darauf.
  2. Überprüfen Sie im Tomcat-Übersichtsfenster den Bereich Serverstandorte, erweitern Sie ihn und prüfen Sie, wo die Webapp bereitgestellt wird.
  3. Wenn die Option "Tomcat-Installation verwenden" ausgewählt ist, muss sich die Web-App in <Tomcat>/webapps befinden. Wenn dies nicht der Fall ist, wählen Sie diese Option aus, und die Anwendung wird direkt im Tomcat-Ordner bereitgestellt.
7
Luiggi Mendoza

Gehen Sie zu Projekteigenschaften -> Projektfacetten und ändern Sie die Version von Dynamic Web Module. Wenn es auf 3.1 eingestellt ist, ändern Sie es in 3.0. Falls Sie die Version nicht ändern können, deaktivieren Sie sie und klicken Sie auf "Übernehmen". Dann können Sie die Version auswählen, überprüfen und anwenden-OK . Für mich gearbeitet!

20
Piyush Vashisht

Ja, mit dem Maven, Spring-Projekt mit Java EE-Konformität haben wir dieses Problem mit Tomcat. Um dieses Problem zu beheben, führen Sie die Liste der Befehle aus, um das Projekt als Java EE-Konformität zu definieren.

  1. $ mvn Eclipse:clean - um die Eclipse-Dateien wie .project .classpath zu säubern
  2. $ mvn Eclipse:eclipse -Dwtpversion=2.0, um den mit Java EE kompatiblen Eclipse zu erstellen.

Öffnen Sie das Projekt zuletzt in Eclipse. Wählen Sie den Server aus, den Tomcat jetzt auf "Server ausführen" (Alt + Shift + x, R). Wählen Sie "Tomcat7.0" aus.

20
Pavan

Wenn Sie "Tomcat Version 7.0 unterstützt nur J2EE 1.2, 1.3, 1.4 und Java EE 5 und 6 Webmodule" erhalten, wird ein Fehler angezeigt, wenn Sie versuchen, ein Projekt zu Tomcat 7 hinzuzufügen.

Klicken Sie mit der rechten Maustaste auf das Projekt -> gehen Sie zu Projektfacetten -> deaktivieren Sie das dymanische Webmodul (das sollte 3.1 sein) -> Anwenden -> Ändern Sie dann das dynamische Webmodul in 3.0 -> Anwenden und speichern Sie dann. 

Versuchen Sie jetzt hinzuzufügen, und es sollte funktionieren.

6
Harsha Thota

Für Tomcat Version 6

Im Projekt .settings Ordner OR oder STRG + UMSCHALT + R: finde diese Datei 

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

Ändern Sie die Version von facet = jst.web in 2.4 oder 2.5

Datei: 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 Zur Bereitstellung auf Tomcat 7 benötigen Sie facet = "jst.web" version = "3.0".

5
Ankit Pandey

1) Wechseln Sie zu Ihrem Projekt im Ordner Eclipse Workspace.
2) Öffnen Sie den Ordner .setting
3) Öffnen Sie die XML-Datei "org.Eclipse.wst.common.project.facet.core"
4) Aktualisieren Sie die Version in der letzten Zeile als 2.4 oder 2.5.
5) Aktualisieren Sie das Projekt und versuchen Sie, auf dem Server auszuführen

4
ggwp

Dieses Problem kann durch Ändern der Dynamic Web Module-Version auf 3.0 behoben werden. Dies kann auf zwei Arten erfolgen. 

  1. Gehen Sie zu den Projekteigenschaften und klicken Sie auf Projektfacetten. Jetzt wird die Option Dynamic Web Module angezeigt. Ändern Sie sie in 3.0 

  2. Für diejenigen, die die Version im obigen Schritt nicht ändern können, öffnen Sie org.Eclipse.wst.common.project.facet.core.xml und ändern Sie die Version hier in etwas wie <installed facet="jst.web" version="3.0"/>

Gehen Sie jetzt zu Projektfacetten und sehen Sie, dass die Dynamic Web Module-Version in 3.0 geändert wurde.

0
mannedear

Um dieses Problem zu lösen, müssen Sie Ihre Dynamic Web Module-Version von 3.1 to 3.0..__ aktualisieren. Eclipse lässt diese Aktualisierung nicht direkt über Build Path-->Configure Build Path-->Project Facets zu.

Folgen Sie diesen SchrittenOpen-Datei: YourPrjectFolder/.setting/org.Eclipse.wst.common.project.facet.core

  1. Im Projektordner gehen Sie in den Ordner .settings.
  2. org.Eclipse.wst.common.project.facet.core XML-Dokument öffnen.
  3. Zeile <installed facet="jst.web" version="3.1"/> in <installed facet="jst.web" version="3.0"/> bearbeiten
  4. Speichern Sie die Änderungen.
  5. Gehen Sie zu Eclipse und aktualisieren Sie das Projekt.

Sie können Ihr Projekt jetzt auf Tomcat 7 veröffentlichen.

0
darvycode

Ich dachte, ich würde dieser Frage etwas hinzufügen, als ich all das ausprobierte und am Ende etwas anderes machte, um mein Problem zu beheben:

Tomcat Version 7.0 unterstützt nur die Webmodule J2EE 1.2, 1.3, 1.4 und Java EE 5 und 6  

was dann auch dazu führte 

Version des Projektfacetten Dynamic Web Module kann nicht in Version 3.0 geändert werden

In unserem Projekt verwenden wir Maven zum Erstellen einer Java 1.8/Tomcat 8.5-Anwendung (die nur Dynamic Web Module Version 3.0 unterstützt - nicht 4.0). 

Jemand in unserem Team hat die folgende Änderung in unserer übergeordneten pom.xml vorgenommen

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

Die Version wurde von 3.0.1 nach 4.0.0 verschoben und egal wie oft ich org.Eclipse.wst.common.project.facet.core.xml mit der richtigen Version <installed facet="jst.web" version="3.0"/> überschrieben hatte, ein Maven-Update überschrieb es erneut mit 4,0 .

Ich habe die Version auf 3.0.1 zurückgesetzt, wie unten gezeigt, und seitdem zeigen meine Project Facets die korrekte Version an, meine Apps werden auf meinem internen Tomcat-Server bereitgestellt, und bis heute hat niemand die Berechtigung, das Update durchzuführen 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