Wenn Sie die Eigenschaft 'source' auf 'org.eclipse.jst.jee.server: JSFTut' setzen, wurde keine passende Eigenschaft gefunden
103
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.
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.
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.
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 :
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 :
(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
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)
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.
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
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 Tomcatserver.xml
ein unbekanntes Attribut enthältsource
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 inserver.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 derserver.xml
beim Start von Tomcat eine Warnung ausgegeben, obwohl weder DTD noch XSD für vorhanden sindserver.xml
.Ignoriere es einfach. Ihr Webprojekt ist in Ordnung. Es sollte gut laufen. Dieses Problem hat nichts mit JSF zu tun.
quelle
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.
quelle
Ich dachte ich würde das für Tomcat 7.x hinzufügen,
<Context>
ist nicht in derserver.xml
, sondern in dercontext.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.
quelle
Ich habe mich dem ähnlichen Problem gestellt. Schritte, um dies zu beheben.
Hoffe das funktioniert auch bei dir.
quelle
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 diejava.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 )
quelle
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 :
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 einContext
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.
quelle
Dies ist eine einfache Lösung für diese Warnung:
Starten Sie zum Schluss Ihren Server neu, die Nachricht muss verschwinden.
quelle
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
quelle