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.
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.
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 Tomcat server.xml
zawiera nieznany atrybut source
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 w server.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 pliku server.xml
bę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.
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.
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.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.
Zmierzyłem się z podobnym problemem. Kroki, aby rozwiązać ten problem.
Mam nadzieję, że to działa również dla Ciebie.
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ć we java.util.logging.config.file
wł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:
-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 )
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 :
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)
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 w Context
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.
Oto proste rozwiązanie tego ostrzeżenia:
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ąć.
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