Wenn Sie die Eigenschaft 'source' auf 'org.eclipse.jst.jee.server: JSFTut' setzen, wurde keine passende Eigenschaft gefunden

Antworten:

191

Dies ist kein Fehler. Dies ist eine Warnung . Der Unterschied ist ziemlich groß. Diese spezielle Warnung bedeutet im Wesentlichen, dass das <Context>Element in Tomcat server.xmlein unbekanntes Attribut enthält sourceund dass Tomcat nicht weiß, was mit diesem Attribut zu tun ist, und es daher ignoriert.

Eclipse WTP fügt sourcedem projektbezogenen <Context>Element in server.xmlTomcat ein benutzerdefiniertes Attribut hinzu , das die Quelle des Kontexts angibt (das tatsächliche Projekt im Arbeitsbereich, das auf dem bestimmten Server bereitgestellt wird). Auf diese Weise kann Eclipse die bereitgestellte Webanwendung mit einem Projekt im Arbeitsbereich korrelieren. Seit Tomcat Version 6.0.16 werden nicht spezifizierte XML-Tags und -Attribute in der server.xmlbeim Start von Tomcat eine Warnung ausgegeben, obwohl weder DTD noch XSD für vorhanden sind server.xml.

Ignoriere es einfach. Ihr Webprojekt ist in Ordnung. Es sollte gut laufen. Dieses Problem hat nichts mit JSF zu tun.

BalusC
quelle
5
Sie können dies zu Ihren logging.properties hinzufügen, um Warnungen beim Lesen Ihrer Konfiguration zu unterdrücken: org.apache.tomcat.util.digester.Digester.level = SEVERE
Christian
Ich habe festgestellt, dass wenn Sie die Datei server.xml geöffnet haben, der Kontext nicht wieder hinzugefügt wird. Ich habe gerade den Server gestoppt und die Datei server.xml geschlossen und dann das Projekt erneut hinzugefügt. Ich dachte, ich würde es erwähnen, falls jemand anderes auf das gleiche Problem stößt.
Michael
Dieser Thread bietet tatsächlich eine funktionierende Antwort. Es wird die Warnung los. :)
Silber
(Gleiches gilt für log4j.properties - 1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38
Für mich war die Warnung ein Hinweis auf einen Fehler - mein Projekt wurde nicht bereitgestellt. Die Kontextattribute in Tomcats server.xml waren ein Hinweis - nachdem ich die von Eclipse generierten Attribute gelöscht und erneut von Eclipse bereitgestellt hatte, ging ich noch einen Schritt weiter - jetzt zeigte mir Eclipse ein gutes altes Popup mit dem tatsächlichen Fehler.
Hervian
12

Entfernen Sie das Projekt vom Server aus der Serveransicht. Führen Sie dann das Projekt unter demselben Server aus.

Das Problem ist, wie @BalusC der Server.xml von Tomcat, die in der Eclipse konfiguriert ist, als beschädigt gemeldet hat. Wenn Sie den obigen Prozess ausführen, wird server.xml neu erstellt.

arvindwill
quelle
3
Meine Tomcat-Instanz startete eines Tages ziemlich schnell (ungewöhnlich), und als ich mir die Protokolle ansah, bemerkte ich dieselbe Meldung wie auf dem Poster ... Ich habe versucht, den Server ohne Erfolg zu reinigen und neu zu starten. Das Entfernen und erneute Hinzufügen des Projekts zum Server hat geholfen, wie von arvind empfohlen.
Armyofda12mnkeys
4

Ich dachte ich würde das für Tomcat 7.x hinzufügen, <Context>ist nicht in der server.xml, sondern in der context.xml. Das Entfernen und erneute Hinzufügen des Projekts schien meinem ähnlichen Problem, bei dem es sich um ein web.xml-Problem handelte, nicht zu helfen. context.xmlDies stellte ich fest, indem ich das überprüfte, das diese Zeile im <Context>Abschnitt enthielt :

<WatchedResource>WEB-INF/web.xml</WatchedResource>

Die Lösung in WARNUNG: Das Setzen der Eigenschaft 'source' auf 'org.eclipse.jst.jee.server: appname' hat keine passende Eigenschaft gefunden und mich meiner Antwort näher gebracht, da die Änderung der Veröffentlichung in ein separates XML den Fehler behoben hat oben für mich gemeldet, aber leider hat es einen zweiten Fehler generiert, den ich noch untersuche.

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.

Marcus
quelle
4

Ich habe mich dem ähnlichen Problem gestellt. Schritte, um dies zu beheben.

  1. Entfernen Sie das Projekt vom Server
  2. Geben Sie sauber und bauen Sie für das gesamte Projekt
  3. Löschen Sie den Server
  4. Verwenden Sie Ausführen als, um das Projekt bereitzustellen und auszuführen

Hoffe das funktioniert auch bei dir.

Siva Kameswara Rao Munipalle
quelle
3

In Bezug auf das Festlegen des Wertes logging.properties

org.apache.tomcat.util.digester.Digester.level = SEVERE

... Wenn Sie einen eingebetteten Tomcat-Server in Eclipse ausführen, logging.propertieswird standardmäßig die JDK-Standarddatei verwendet%JAVA_HOME%/jre/lib/logging.properties

Wenn Sie eine andere Datei logging.properties verwenden möchten (z. B. im confVerzeichnis des Tomcat-Servers ), muss dies über die java.util.logging.config.fileSystemeigenschaft festgelegt werden. c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.propertiesFügen Sie dies beispielsweise zur Liste der VM-Argumente hinzu, um die in der Datei definierten Protokollierungseigenschaften zu verwenden :

-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"

(Doppelklicken Sie auf das Serversymbol, klicken Sie auf "Startkonfiguration öffnen", wählen Sie die Registerkarte "Argumente" und geben Sie diese in das Textfeld "VM-Argumente" ein.)

Möglicherweise ist es auch hilfreich, das VM-Argument hinzuzufügen

-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"

Außerdem wird der Name des Quellloggers in die Ausgabe aufgenommen, wodurch es einfacher sein sollte, zu bestimmen, welcher Logger in der Datei logging.properties (gemäß http://docs.oracle.com/javase/7/docs) gedrosselt werden soll /api/java/util/logging/SimpleFormatter.html )

Greg Knox
quelle
1

Update auf die neueste Version

Seit diesem Commit ist dies in der Entwicklungsversion von Tomcat behoben. Und jetzt in den veröffentlichten Versionen 9.0.13, 8.5.35 und 7.0.92.

Aus dem 9.0.13 Changelog :

Ignorieren Sie ein Attribut mit dem Namen source für von StandardContext bereitgestellte Kontextelemente. Hiermit werden Warnungen unterdrückt, die durch die von Eclipse bereitgestellte Eclipse / Tomcat-Integration generiert werden. Basierend auf einem Patch von mdfst13. (Markt)

Es gibt ähnliche Einträge in den Änderungsprotokollen 7.0.92 und 8.5.35 .

Diese Änderung bewirkt, dass eine Warnung unterdrückt wird, wenn ein sourceAttribut für ein ContextElement in server.xml oder context.xml deklariert wird. Da dies die beiden Stellen sind, an denen Eclipse ein solches Attribut einfügt, wird dieses spezielle Problem behoben.

TL; DR : Update auf die neueste Tomcat-Version in seinem Zweig, z. B. 9.0.13 oder neuer.

mdfst13
quelle
0

Dies ist eine einfache Lösung für diese Warnung:

Sie können die Konfiguration des Eclipse Tomcat-Servers ändern. Öffnen Sie die Serveransicht und doppelklicken Sie auf Ihren Server, um die Serverkonfiguration zu öffnen. Es gibt eine Server Option Tab. Klicken Sie auf dieser Registerkarte auf das Kontrollkästchen, um " Modulinhalte in separaten XML-Dateien veröffentlichen " zu aktivieren .

Starten Sie zum Schluss Ihren Server neu, die Nachricht muss verschwinden.

MangduYogii
quelle
-1

Bitte überprüfen Sie, ob JAR-Dateien, in denen bestimmte Jars fehlen, möglicherweise als lokal verwendet wurden. Legen Sie sie in den lib-Ordner und erstellen Sie die WAR-Datei

Issac Balaji
quelle