Ustawienie właściwości „source” na „org.eclipse.jst.jee.server: JSFTut” nie znalazło pasującej właściwości
103
Otrzymuję następujący błąd, kiedy uruchamiam aplikację demonstracyjną JSF na konsoli
[SetPropertiesRule]{Server/Service/Engine/Host/Context}Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
To nie jest błąd. To jest ostrzeżenie . Różnica jest ogromna. To konkretne ostrzeżenie w zasadzie oznacza, że <Context>element w Tomcat server.xmlzawiera nieznany atrybut sourcei że Tomcat nie wie, co zrobić z tym atrybutem i dlatego go zignoruje.
Eclipse WTP dodaje atrybut niestandardowy sourcedo <Context>elementu związanego z projektem w server.xmlTomcat, który identyfikuje źródło kontekstu (rzeczywisty projekt w obszarze roboczym, który jest wdrażany na określonym serwerze). W ten sposób Eclipse może skorelować wdrożoną aplikację internetową z projektem w obszarze roboczym. Od wersji Tomcat 6.0.16 wszelkie nieokreślone znaczniki XML i atrybuty w pliku server.xmlbędą powodować ostrzeżenie podczas uruchamiania Tomcata, nawet jeśli nie ma DTD ani XSD dla server.xml.
Po prostu to zignoruj. Twój projekt internetowy jest w porządku. Powinno działać dobrze. Ten problem jest całkowicie niezwiązany z JSF.
Możesz dodać to do swojego logging.properties, aby powstrzymać ostrzeżenia podczas czytania twojej konfiguracji: org.apache.tomcat.util.digester.Digester.level = POWAŻNE
Christian
Zauważyłem, że jeśli masz otwarty plik server.xml, nie dodaje on z powrotem kontekstu. Po prostu zatrzymałem serwer i zamknąłem plik server.xml, a następnie ponownie dodałem projekt. Myślałem, że wspomniałbym o tym na wypadek, gdyby ktoś inny napotkał ten sam problem.
Michael
Ten wątek faktycznie oferuje działającą odpowiedź. Pozbywa się ostrzeżenia. :)
srebro
(to samo dla log4j.properties - 1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38
Dla mnie ostrzeżenie było wskazaniem błędu - mój projekt nie został wdrożony. Atrybuty kontekstu w pliku server.xml Tomcata były wskazówką - po usunięciu atrybutów wygenerowanych przez zaćmienie i ponownym wdrożeniu z Eclipse poszedłem o krok dalej - teraz Eclipse pokazało mi dobre stare okienko z prawdziwym błędem.
Hervian,
12
Usuń projekt z serwera z widoku serwera. Następnie uruchom projekt na tym samym serwerze.
Problem jest taki, jak powiedział @BalusC uszkodzony plik server.xml tomcat, który jest skonfigurowany w eclipse. Więc po wykonaniu powyższego procesu server.xml zostanie odtworzony.
Moja instancja tomcat uruchomiła się pewnego dnia dość szybko (niezwykle) i patrząc na logi zauważyłem ten sam komunikat, który miał plakat ... Próbowałem wyczyścić i zrestartować serwer bezskutecznie. Usunięcie, a następnie ponowne dodanie projektu na serwer pomogło zgodnie z zaleceniami arvindwill.
armyofda12mnkeys
4
Pomyślałem, że dodam, że dla Tomcat 7.x <Context>nie jest w server.xml, ale w context.xml. Usunięcie i ponowne dodanie projektu nie pomogło w moim podobnym problemie, którym był problem z plikiem web.xml, o którym dowiedziałem się, sprawdzając, context.xmlktóry zawiera ten wiersz w <Context>sekcji:
Jeśli chodzi o ustawienie wartości logging.properties
org.apache.tomcat.util.digester.Digester.level = SEVERE
... jeśli używasz wbudowanego serwera Tomcat w środowisku eclipse, logging.propertiesdomyślnie używany jest plik JDK pod adresem%JAVA_HOME%/jre/lib/logging.properties
Jeśli chcesz użyć innego pliku logging.properties (np. W katalogu serwera tomcat conf), należy to ustawić we java.util.logging.config.filewłaściwości systemowej. np. aby użyć właściwości logowania zdefiniowanych w pliku c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties, dodaj to do listy argumentów VM:
(kliknij dwukrotnie ikonę serwera, kliknij `` Otwórz konfigurację uruchamiania '', wybierz kartę Argumenty, a następnie wprowadź ją w polu tekstowym `` Argumenty maszyny wirtualnej '')
Zignoruj atrybut o nazwie source w elementach Context dostarczonych przez StandardContext. Ma to na celu wyeliminowanie ostrzeżeń generowanych przez integrację Eclipse / Tomcat zapewnianą przez Eclipse. Na podstawie łatki autorstwa mdfst13. (markt)
Efektem tej zmiany jest pominięcie ostrzeżenia, gdy sourceatrybut zostanie zadeklarowany w Contextelemencie w pliku server.xml lub context.xml. Ponieważ są to dwa miejsca, w których Eclipse umieszcza taki atrybut, rozwiązuje ten konkretny problem.
TL; DR : aktualizacja do najnowszej wersji Tomcata w swojej gałęzi, np. 9.0.13 lub nowsza.
Możesz zmienić konfigurację serwera eclipse tomcat. Otwórz widok serwera, kliknij dwukrotnie swój serwer, aby otworzyć konfigurację serwera. Jest zakładka opcji serwera . wewnątrz tej zakładki kliknij pole wyboru, aby aktywować „ Publikuj zawartość modułu w celu oddzielenia plików XML ”.
Na koniec zrestartuj serwer, wiadomość musi zniknąć.
Odpowiedzi:
To nie jest błąd. To jest ostrzeżenie . Różnica jest ogromna. To konkretne ostrzeżenie w zasadzie oznacza, że
<Context>
element w Tomcatserver.xml
zawiera nieznany atrybutsource
i że Tomcat nie wie, co zrobić z tym atrybutem i dlatego go zignoruje.Eclipse WTP dodaje atrybut niestandardowy
source
do<Context>
elementu związanego z projektem wserver.xml
Tomcat, który identyfikuje źródło kontekstu (rzeczywisty projekt w obszarze roboczym, który jest wdrażany na określonym serwerze). W ten sposób Eclipse może skorelować wdrożoną aplikację internetową z projektem w obszarze roboczym. Od wersji Tomcat 6.0.16 wszelkie nieokreślone znaczniki XML i atrybuty w plikuserver.xml
będą powodować ostrzeżenie podczas uruchamiania Tomcata, nawet jeśli nie ma DTD ani XSD dlaserver.xml
.Po prostu to zignoruj. Twój projekt internetowy jest w porządku. Powinno działać dobrze. Ten problem jest całkowicie niezwiązany z JSF.
źródło
log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
Usuń projekt z serwera z widoku serwera. Następnie uruchom projekt na tym samym serwerze.
Problem jest taki, jak powiedział @BalusC uszkodzony plik server.xml tomcat, który jest skonfigurowany w eclipse. Więc po wykonaniu powyższego procesu server.xml zostanie odtworzony.
źródło
Pomyślałem, że dodam, że dla Tomcat 7.x
<Context>
nie jest wserver.xml
, ale wcontext.xml
. Usunięcie i ponowne dodanie projektu nie pomogło w moim podobnym problemie, którym był problem z plikiem web.xml, o którym dowiedziałem się, sprawdzając,context.xml
który zawiera ten wiersz w<Context>
sekcji:<WatchedResource>WEB-INF/web.xml</WatchedResource>
Rozwiązanie w OSTRZEŻENIE: Ustawienie właściwości „source” na „org.eclipse.jst.jee.server: appname” nie znalazło pasującej właściwości, co zbliżyło mnie do mojej odpowiedzi, ponieważ zmiana publikowania na osobny XML rozwiązała błąd zgłoszone powyżej dla mnie, ale niestety wygenerowało to drugi błąd, który wciąż badam.
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.
źródło
Zmierzyłem się z podobnym problemem. Kroki, aby rozwiązać ten problem.
Mam nadzieję, że to działa również dla Ciebie.
źródło
Jeśli chodzi o ustawienie wartości logging.properties
org.apache.tomcat.util.digester.Digester.level = SEVERE
... jeśli używasz wbudowanego serwera Tomcat w środowisku eclipse,
logging.properties
domyślnie używany jest plik JDK pod adresem%JAVA_HOME%/jre/lib/logging.properties
Jeśli chcesz użyć innego pliku logging.properties (np. W katalogu serwera tomcat
conf
), należy to ustawić wejava.util.logging.config.file
właściwości systemowej. np. aby użyć właściwości logowania zdefiniowanych w plikuc:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties
, dodaj to do listy argumentów VM:-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"
(kliknij dwukrotnie ikonę serwera, kliknij `` Otwórz konfigurację uruchamiania '', wybierz kartę Argumenty, a następnie wprowadź ją w polu tekstowym `` Argumenty maszyny wirtualnej '')
Przydatne może być również dodanie argumentu VM
-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"
co spowoduje dołączenie nazwy rejestratora źródłowego do danych wyjściowych, co powinno ułatwić określenie, który program rejestrujący ma zostać ograniczony w pliku logging.properties (zgodnie z http://docs.oracle.com/javase/7/docs /api/java/util/logging/SimpleFormatter.html )
źródło
Zaktualizuj do najnowszej wersji
Od tego zatwierdzenia problem został rozwiązany w wersji rozwojowej Tomcat. A teraz w wydanych wersjach 9.0.13, 8.5.35 i 7.0.92.
Z dziennika zmian 9.0.13 :
W dziennikach zmian wersji 7.0.92 i 8.5.35 są podobne wpisy .
Efektem tej zmiany jest pominięcie ostrzeżenia, gdy
source
atrybut zostanie zadeklarowany wContext
elemencie w pliku server.xml lub context.xml. Ponieważ są to dwa miejsca, w których Eclipse umieszcza taki atrybut, rozwiązuje ten konkretny problem.TL; DR : aktualizacja do najnowszej wersji Tomcata w swojej gałęzi, np. 9.0.13 lub nowsza.
źródło
Oto proste rozwiązanie tego ostrzeżenia:
Na koniec zrestartuj serwer, wiadomość musi zniknąć.
źródło
Sprawdź, czy brakujące pliki jar, a zwłaszcza pliki jar, mogły zostać pobrane lokalnie, więc umieść je w folderze lib, a następnie utwórz plik WAR
źródło