Beim Ausführen der Demo-JSF-Anwendung auf der Konsole wird folgende Fehlermeldung angezeigt
[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
Beim Ausführen der Demo-JSF-Anwendung auf der Konsole wird folgende Fehlermeldung angezeigt
[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
Antworten:
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.xml
ein unbekanntes Attribut enthält source
und dass Tomcat nicht weiß, was mit diesem Attribut zu tun ist, und es daher ignoriert.
Eclipse WTP fügt source
dem projektbezogenen <Context>
Element in server.xml
Tomcat 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.xml
beim 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.
log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
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.
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.xml
Dies 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.
Ich habe mich dem ähnlichen Problem gestellt. Schritte, um dies zu beheben.
Hoffe das funktioniert auch bei dir.
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.properties
wird 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 conf
Verzeichnis des Tomcat-Servers ), muss dies über die java.util.logging.config.file
Systemeigenschaft festgelegt werden. c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties
Fü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 )
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 source
Attribut für ein Context
Element 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.
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.
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