Ich verwende Maven, um eine dynamische Webanwendung in Eclipse zu erstellen. Ich habe einige Ordner wie src/test/java
und hinzugefügt src/test/resources
. Außerdem habe ich die Bibliothek in Java Build Path geändert, um JavaSE-1.7 zu erhalten. Bis hier ist alles in Ordnung.
Als ich versuchte, das Projects Facet Dynamic Web Module zu ändern, ist ein Fehler aufgetreten. Ich hatte das Java an derselben Stelle auf 1.7 geändert. Und es hat mir immer noch gesagt, dass die Version des Dynamic Web Module der Projektfacette nicht auf 3.0 geändert werden kann.
Ich habe alles geändert, was die Änderung bewirken würde, denke ich.
Antworten:
Ich habe meine aktualisiert
web.xml
und dann einfach Maven -> Projekt aktualisieren ...
quelle
Eine andere Möglichkeit besteht darin, die Projektfacetten-Konfigurationsdatei selbst zu bearbeiten:
org.eclipse.wst.common.project.facet.core.xml
Ändern Sie die Version des dynamischen Webmoduls in dieser Zeile in 3.0 -
<installed facet="jst.web" version="2.5"/>
Und dann:
Sie finden diese Datei im
.settings
Verzeichnis des Eclipse-Projekts.quelle
Ich glaube, ich hatte das gleiche Problem wie Sie. Meine web.xml hatte Version 2.5, während das Projekt das (mit der rechten Maustaste auf Projekt-> Eigenschaften-> Projektfacetten->) Dynamic Web Module 2.3 hatte.
Obwohl ich versucht habe, die Version von 2.3 auf 2.5 zu ändern, hat ECLIPSE dies nicht zugelassen. Lösung: Ich habe das Häkchen unter der Überschrift Dynamisches Webmodul entfernt, gespeichert und das Projekt aktualisiert. Beim automatischen Wiedererwachen wird das Feld mit der richtigen Version eingegeben. Ich benutze Eclipse Kepler.
ps: schau dir die Kommentare von Jonathan unten an, sehr nützlich.
quelle
org.eclipse.wst.common.project.facet.core.xml
Datei öffnenÄndern Sie die Version wie folgt
<installed facet="jst.web" version="3.1"/>
Nur das hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem und habe sogar versucht, das Projekt zu entfernen und erneut hinzuzufügen. Der Trick bestand darin, das
.settings
Verzeichnis zu entfernen .quelle
Löschen
und importiere das Maven-Projekt erneut.
quelle
Was hat bei mir funktioniert:
In Ihrem POM müssen Sie das Compiler-Plugin in
<build>
Abschnitt 1.8 (oder 1.7) in Abschnitt: einstellen.Stellen Sie sicher, dass in Java Build 1.8 angezeigt wird. Wenn dies nicht der Fall ist, klicken Sie auf BEARBEITEN und wählen Sie aus, was es sein soll.
Anstatt es zu ändern:
a) Deaktivieren Sie das Dynamic Web Module
b) bewerben
c) Überprüfen Sie es erneut. Neue Version 3.0 sollte eingestellt sein. **
Nach dem Auftragen und erneuten Überprüfen:
Hoffe das hilft.
quelle
Klicken Sie mit der rechten Maustaste auf das Projekt → Eigenschaften ; Deaktivieren Sie in Project Facets die Option Dynamic Web Module (Version sollte sein 3.1 sein ) und deaktivieren Sie JavaServer Faces (Version 2.2 ).
Ändere das:
dazu:
Entfernen Sie dann das Präfix vor
param-name
und dergleichen.Schließlich Maven -> Projekt aktualisieren .
quelle
Bitte öffnen Sie die Navigatoransicht und den folgenden Schritt
quelle
Öffnen Sie web.xml über die Projektstruktur http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "version =" 3.0 "> Servlet 3.0-Webanwendung
und aktualisieren Sie die Datei web.xml, indem Sie beispielsweise version = "2.5" ändern.
Ändern Sie auch die Datei org.eclipse.wst.common.project.facet.core.xml aus der Einstellungsdatei Ihres Projekts. Befolgen Sie die Schritte 1. Fenster> Ansicht anzeigen> Andere> Allgemein> Navigator
Unter Ihrem Projektverzeichnis befindet sich ein Ordner ".settings"
Ändern Sie die Version des dynamischen Webmoduls in dieser Zeile auf 2.5. 4. Ändern Sie die Java-Version in dieser Zeile auf 1.5 oder höher
Aktualisieren Sie nun Ihr Projekt und lassen Sie es auf Ihrem Server ausführen.
Folgen Sie dem Blog für die Lösung http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html
Die Lösung wird mit Bildabbildungen erstellt
quelle
Am besten und einfachen Schritten löste dieses Problem für mich 1) Eigenschaften -> Projekt Facets -> Auswahl aufheben / deaktivieren Sie das Kontrollkästchen Dynamische Web - Modul -> Anwenden 2 Now) auf die gewünschte Version ändern 3 Wenden) Überprüfen Sie die Web - Modul Dynamische Kontrollkästchen .. - Jetzt sind Sie fertig -
quelle
Dies ist eine weitere Möglichkeit, dieses Problem zu lösen (sehen Sie es sich an und hoffen Sie, dass es Ihnen bei der Lösung Ihres Problems hilft).
PROBLEM
Die Version des dynamischen Webmoduls 2.3 der Projektfacette kann nicht auf 3.0 geändert werden
LÖSUNG
quelle
Der Trick web.xml funktioniert, weil Sie WTP jetzt explizit mitteilen, dass Sie diese bestimmte Servlet-Version verwenden, unabhängig davon, was der Container unterstützt.
In meinem Fall verwende ich die Annotation-Konfiguration in einem Maven-Projekt und habe keine web.xml-Datei. Es stellt sich heraus, dass WTP in Abwesenheit einer web.xml Ihre Maven-Abhängigkeiten überprüft, um festzustellen, welche Servlet-Version verwendet werden soll. In meinem Fall hatte ich Folgendes definiert:
Das Ändern auf 6.0 hat das Problem behoben und verwendet jetzt Servlet 3.0 anstelle von 3.1, was die Standardeinstellung für JavaEE 7 ist. Da ich von Tomcat 8 auf Tomcat 7 wechseln musste, unterstützt Tomcat 7 nur das JavaEE 6-Webprofil. Jetzt funktionieren die Dinge wunderbar.
quelle
Ich hatte das gleiche Problem, das Bearbeiten von web.xml sowie das Ändern der Datei im Ordner .settings allein hat nicht geholfen. Meine Lösung bestand darin, das Maven-Compiler-Plugin direkt auf die gewünschte Java-Version zu verweisen, indem ich pom.xml bearbeitete:
Führen Sie nun Maven-> Projekt aktualisieren aus. Anschließend können Sie die Servlet-Version unter Eigenschaften-> Projektfacetten-> Dynamische Webmodulversion oder, wie bereits beschrieben, durch manuelles Bearbeiten von org.eclipse.wst.common.project.facet.core ändern. xml im Ordner .settings Ihres Projekts.
quelle
In meinem Fall wurde die web.xml von einem dtd referenziert. Nachdem ich dies in eine xsd-Referenz geändert hatte, wie die von Sydney, funktionierte es.
quelle
Ich hatte das gleiche Problem. Durch Löschen des Ordners .settings wurde das Problem behoben
quelle
Meine Lösung für das Problem, bei dem ich die Version des dynamischen Webmoduls der Projektfacette in Eclipse (Mars) nicht ändern konnte, war:
quelle
Wenn die Antwort von Sydney immer noch nicht hilft, versuchen Sie es unten. Nachdem Sie Sydneys Antwort befolgt haben, deaktivieren Sie unter Eigenschaften> Projektfacetten die Option Dynamisches Webmodul, ändern Sie die Version entsprechend Ihrer web.config und wählen Sie sie erneut aus. Übernehmen> Speichern Dann Maven Update.
web.xml
quelle
Ich habe viele der Antworten hier ausprobiert, aber keine davon hat für mich funktioniert. Dann habe ich hier einen Artikel über mein Problem gefunden . Ich dachte daran, es auch hier zu teilen.
Nachfolgend sind die Schritte kurz aufgeführt.
quelle
Bei einem Maven Eclipse-Webprojekt müssen beim Ändern der Version des dynamischen Webmoduls drei Stellen überprüft werden. Wenn man Eclipse verwendet und nachdem Sie Folgendes überprüft haben: 1) web.xml
2) Maven:
3) Eclipse Build Path und Compiler-Version ist 1.7
Sie haben immer noch eine Fehlermarkierung bei Maven:
Dann können Sie: das dynamische Webmodul deaktivieren und erneut aktivieren. Ich denke, das liegt daran, dass die Einstellungen der Eclipse-Datei irgendwie beschädigt sind. Über den zweiten Tipp Tomcat welche Version ist ein guter Hinweis.
quelle
Ich habe diesen Fehler erhalten, als ich versuche, ein allgemeines Java-Projekt in ein Maven-Projekt zu konvertieren .
Ich habe die Java-Compiler-Version ermittelt, die für mein Projekt erforderlich ist. Für mein Projekt ist die Mindestversion von Java
1.8
.Wenn Sie die Version auf einen niedrigeren
1.8
Wert als meine IDE senken, wird sich beschweren, dass eine Reihe importierter Bibliotheken nicht erkannt werden. Daher bestimme ich meine minimale Java-Version als1.8
Stellen Sie nun sicher, dass die Java-Compilerversion dieselbe Java-Version verwendet, die Sie in Project Facets festgelegt haben.
Nach den Änderungen sollte der Fehler behoben sein. Wenn der Fehler weiterhin besteht, klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Projekt aktualisieren
quelle
Das Maven-Update oder das erneute Importieren des Projekts hat nicht geholfen. @ Sydneys Antwort ist richtig; Außerdem muss ich das Projekt in einem anderen Arbeitsbereich neu erstellen, wie in JavaServer Faces 2.2 angegeben. Für Dynamic Web Module 2.5 oder höher ist dies erforderlich
quelle
Öffnen Sie die Datei org.eclipse.wst.common.project.facet.core.xml und ändern Sie die Version jst.web in 3.0. Aktualisieren Sie auch die Datei web.xml auf Version 3.0. Speichern und aktualisieren Sie das Projekt. Hoffe das hilft. Ich benutze Eclipse Juno
quelle
Dies ist eine Variation der Antwort von Pagurix, jedoch unter Verwendung von Eclipse Mars.
Ändern Sie Ihre web.xml-Datei in web.bak
Ignorieren Sie die Fehler, wir werden sie als nächstes neu generieren.
Gehen Sie zu Projekteigenschaften -> Projektfacetten und stellen Sie die Version des Dynamic Web Module auf Ihre Anforderungen ein. Mit Eclipse können Sie jetzt speichern.
Klicken Sie nun mit der rechten Maustaste auf das Projekt. Wählen Sie Java EE Tools -> Generate Deployment Descriptor Stub.
Dadurch wird eine neue web.xml mit der erforderlichen Version erstellt.
Öffnen Sie die neue Datei web.xml und kopieren Sie sie über den XML-Header und das gesamte Web-App-Öffnungs-Tag in Ihre ursprüngliche web.bak. Löschen Sie die neue web.xml und benennen Sie web.bak wieder in web.xml um.
Erledigt.
quelle
Meins war
Web Module 3.0
inweb.xml
, aber inproperties>Dynamic Web Module
Es war an3.1
Ich habe das geändert
web.xml
:Führen Sie nach dieser Änderung Folgendes aus:
right click on project>Maven>Update Project...
quelle
Dieses Problem Mit der Version klicken Sie mit der rechten Maustaste auf das Projekt-> Eigenschaften-> Projektfacetten-> Rechtsklick auf Dynamic Web Module-> Entsperren-> Deaktivieren-> Wählen Sie 2.5 Version-> Übernehmen-> Aktualisieren Sie den Maven
quelle
Ich habe das Problem behoben, indem ich web.xml mit der richtigen Version, den xsd-Speicherorten und org.eclipse.wst.common.project.facet.core.xml mit der richtigen Version geändert und das Maven-Update durchgeführt habe .
quelle
Maven aktualisieren hat bei mir funktioniert
Projekt auswählen, dann ALT + F5 drücken und dann Projekt auswählen, auf OK klicken
quelle
Ich hatte das gleiche Symptom mit einer anderen Heilung. Ich habe versucht, meine JSF 2.2.4 / Spring 3.0-Webanwendung auf JSF 2.3 zu aktualisieren, um die neuen JSF-Websocket-Hooks dort zu genießen, und Eclipse (eigentlich STS) würde nicht kooperieren. In den Projektfacetten von Eclipse wurde JSF 2.3 erst verfügbar, als ich die Datei org.eclipse.wst.common.project.facet.core.xml direkt bearbeitet habe, wie in den vorherigen Antworten angegeben - der höchste Wert war 2.2.
Hier sind die Reifen, durch die ich gesprungen bin. Ich weiß nicht, dass all dies notwendig war, weil ich diese Konfiguration grundsätzlich nicht verstehe.
In Eclipse wurde häufig die beängstigende Warnung angezeigt: "Das Ändern eines facettierten Projekts, wenn Implementierungen einer oder mehrerer installierter Facetten nicht verfügbar sind, kann möglicherweise zu einem beschädigten Projekt führen. Möchten Sie wirklich fortfahren?" Dies veranlasste mich zu häufigeren Commits, aber es trat keine Korruption auf.
Aktualisieren Sie die folgenden Maven-Abhängigkeiten:
... zu:
... und ...
... zu:
Ich musste meine web.xml-Namespace-Deklarationen aktualisieren von:
... zu:
Ich musste Project Facets -> Dynamic Web Module von 2.5 auf 3.0 aktualisieren. Ich habe 3.1 ausprobiert, aber Fehler bekommen.
In diesem Prozess wurde häufig der Fehler im Titel dieses Beitrags "Version des dynamischen Webmoduls der Projektfacette kann nicht auf 3.0 geändert werden" angezeigt, und Eclipse lehnte es ab, das Projekt zu kompilieren oder JSF 2.3 in den Projektfacetten anzubieten. Als ich die Datei org.eclipse.wst.common.project.facet.core.xml wie angegeben bearbeitete, verschwanden die Fehler, Eclipse bot JSF 2.3 in Project Facets an, und das Projekt wurde kompiliert und lief unter Tomcat 9.0.8 einwandfrei. Project Facets warnte jedoch weiterhin: "Die Implementierung von Version 2.3 der Projektfacette jst.jsf wurde nicht gefunden. Die Funktionalität wird eingeschränkt." Ich vermute, dies bedeutet einfach, dass die automatische Vervollständigung und andere Eclipse-Funktionen nicht verfügbar sind, da die in meinem POM deklarierte JSF 2.3-Implementierung nicht gefunden werden kann.
Hoffe das hilft jemandem. Google-Suchanfragen ergaben nur diesen Beitrag von Ali Bassam und indirekt BalusC, der half.
quelle
Ich hatte das gleiche Problem - ich habe gerade das Projekt aus meinem Arbeitsbereich entfernt und dann die "Eclipse-Dateien / Ordner" bereinigt, zum Beispiel: .project, .settings, etc) und dann das Maven-Projekt erneut importiert, es hat funktioniert.
quelle