Установка для свойства 'source' значения 'org.eclipse.jst.jee.server: JSFTut' не обнаружила подходящего свойства
103
Я получаю следующую ошибку, когда запускаю демонстрационное приложение JSF на консоли
[SetPropertiesRule]{Server/Service/Engine/Host/Context}Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
Это не ошибка. Это предупреждение . Разница довольно огромная. Это конкретное предупреждение в основном означает, что <Context>элемент в Tomcat server.xmlсодержит неизвестный атрибут sourceи что Tomcat не знает, что делать с этим атрибутом, и поэтому проигнорирует его.
Eclipse WTP добавляет настраиваемый атрибут sourceк <Context>элементу, связанному с проектом, в server.xmlTomcat, который определяет источник контекста (фактический проект в рабочей области, развернутый на конкретном сервере). Таким образом Eclipse может соотнести развернутое веб-приложение с проектом в рабочей области. Начиная с версии Tomcat 6.0.16, любые неуказанные теги и атрибуты XML в файле server.xmlбудут выдавать предупреждение во время запуска Tomcat, даже если нет ни DTD, ни XSD для server.xml.
Просто не обращай на это внимания. Ваш веб-проект в порядке. Он должен работать нормально. Эта проблема совершенно не связана с JSF.
Вы можете добавить это в свой logging.properties, чтобы подавить предупреждения при чтении вашей конфигурации: org.apache.tomcat.util.digester.Digester.level = SEVERE
Кристиан,
Я заметил, что если у вас открыт файл server.xml, он не добавляет контекст обратно. Я просто остановил сервер и закрыл файл server.xml, а затем повторно добавил проект. Думал, я бы упомянул об этом, если кто-то еще столкнется с той же проблемой.
Michael
Эта ветка на самом деле предлагает рабочий ответ. Это избавляет от предупреждения. :)
серебро
(то же для log4j.properties - 1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38
Для меня предупреждение было признаком ошибки - мой проект не был развернут. Атрибуты контекста в Tomcat server.xml были подсказкой - после удаления атрибутов, созданных eclipse, и повторного развертывания из Eclipse я сделал еще один шаг вперед - теперь Eclipse показал мне старое доброе всплывающее окно с реальной ошибкой.
Hervian
12
Удалите проект с сервера из представления сервера. Затем запустите проект на том же сервере.
Проблема в том, что @BalusC сказал, что коррумпирован server.xml tomcat, который настроен в eclipse. Поэтому, когда вы сделаете вышеуказанный процесс, server.xml будет воссоздан.
Мой экземпляр tomcat в один прекрасный день запустился довольно быстро (необычно), и, глядя на журналы, я заметил то же сообщение, что и на плакате ... Я попытался очистить и перезапустить сервер, но безрезультатно. Удаление, а затем повторное добавление проекта на сервер помогло, как рекомендовал arvindwill.
armyofda12mnkeys
4
Думал добавить, что для Tomcat 7.x <Context>не в server.xml, а в context.xml. Удаление и повторное добавление проекта, похоже, не помогло моей аналогичной проблеме, которая была проблемой web.xml, о которой я узнал, проверив context.xmlстроку, в которой была эта строка в <Context>разделе:
Что касается установки значения logging.properties
org.apache.tomcat.util.digester.Digester.level = SEVERE
... если вы используете встроенный сервер tomcat в eclipse, logging.propertiesфайл, используемый по умолчанию, является файлом JDK по умолчанию в%JAVA_HOME%/jre/lib/logging.properties
Если вы хотите использовать другой файл logging.properties (например, в confкаталоге сервера tomcat ), это необходимо установить через java.util.logging.config.fileсистемное свойство. например, чтобы использовать свойства ведения журнала, определенные в файле c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties, добавьте это в список аргументов виртуальной машины:
(дважды щелкните значок сервера, нажмите «Открыть конфигурацию запуска», выберите вкладку «Аргументы», затем введите это в текстовое поле «Аргументы виртуальной машины»)
Вы также можете найти полезным добавить аргумент виртуальной машины
Игнорировать атрибут с именем source в элементах контекста, предоставляемых StandardContext. Это сделано для подавления предупреждений, генерируемых интеграцией Eclipse / Tomcat, предоставляемой Eclipse. На основе патча от mdfst13. (Маркт)
Есть аналогичные записи в 7.0.92 и 8.5.35 списке изменений.
Результатом этого изменения является подавление предупреждения, когда sourceатрибут объявляется для Contextэлемента в server.xml или context.xml. Поскольку именно в этих двух местах Eclipse помещает такой атрибут, это устраняет эту конкретную проблему.
TL; DR : обновите Tomcat до последней версии в своей ветке, например 9.0.13 или новее.
Вы можете изменить конфигурацию сервера Eclipse Tomcat. Откройте представление сервера, дважды щелкните сервер, чтобы открыть конфигурацию сервера. Есть вкладка опций сервера . внутри этой вкладки установите флажок, чтобы активировать « Публиковать содержимое модуля в отдельные файлы XML ».
Наконец, перезапустите сервер, сообщение должно исчезнуть.
Пожалуйста, проверьте, не были ли какие-либо файлы jar, в частности, jar, не были приняты как локальные, поэтому поместите в папку lib, затем создайте файл WAR
Ответы:
Это не ошибка. Это предупреждение . Разница довольно огромная. Это конкретное предупреждение в основном означает, что
<Context>
элемент в Tomcatserver.xml
содержит неизвестный атрибутsource
и что Tomcat не знает, что делать с этим атрибутом, и поэтому проигнорирует его.Eclipse WTP добавляет настраиваемый атрибут
source
к<Context>
элементу, связанному с проектом, вserver.xml
Tomcat, который определяет источник контекста (фактический проект в рабочей области, развернутый на конкретном сервере). Таким образом Eclipse может соотнести развернутое веб-приложение с проектом в рабочей области. Начиная с версии Tomcat 6.0.16, любые неуказанные теги и атрибуты XML в файлеserver.xml
будут выдавать предупреждение во время запуска Tomcat, даже если нет ни DTD, ни XSD дляserver.xml
.Просто не обращай на это внимания. Ваш веб-проект в порядке. Он должен работать нормально. Эта проблема совершенно не связана с JSF.
источник
log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
Удалите проект с сервера из представления сервера. Затем запустите проект на том же сервере.
Проблема в том, что @BalusC сказал, что коррумпирован server.xml tomcat, который настроен в eclipse. Поэтому, когда вы сделаете вышеуказанный процесс, server.xml будет воссоздан.
источник
Думал добавить, что для Tomcat 7.x
<Context>
не вserver.xml
, а вcontext.xml
. Удаление и повторное добавление проекта, похоже, не помогло моей аналогичной проблеме, которая была проблемой web.xml, о которой я узнал, проверивcontext.xml
строку, в которой была эта строка в<Context>
разделе:<WatchedResource>WEB-INF/web.xml</WatchedResource>
Решение в разделе ПРЕДУПРЕЖДЕНИЕ: установка для свойства 'source' значения 'org.eclipse.jst.jee.server: appname' не обнаружила подходящего свойства, приблизила меня к моему ответу, поскольку изменение публикации в отдельный XML- код действительно устранило ошибку сообщил выше для меня, но, к сожалению, это вызвало вторую ошибку, которую я все еще исследую.
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.
источник
Я столкнулся с аналогичной проблемой. Шаги для решения этой проблемы.
Надеюсь, это сработает и для вас.
источник
Что касается установки значения logging.properties
org.apache.tomcat.util.digester.Digester.level = SEVERE
... если вы используете встроенный сервер tomcat в eclipse,
logging.properties
файл, используемый по умолчанию, является файлом JDK по умолчанию в%JAVA_HOME%/jre/lib/logging.properties
Если вы хотите использовать другой файл logging.properties (например, в
conf
каталоге сервера tomcat ), это необходимо установить черезjava.util.logging.config.file
системное свойство. например, чтобы использовать свойства ведения журнала, определенные в файлеc:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties
, добавьте это в список аргументов виртуальной машины:-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"
(дважды щелкните значок сервера, нажмите «Открыть конфигурацию запуска», выберите вкладку «Аргументы», затем введите это в текстовое поле «Аргументы виртуальной машины»)
Вы также можете найти полезным добавить аргумент виртуальной машины
-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"
а также, который затем будет включать имя исходного регистратора в выходные данные, что должно упростить определение того, какой регистратор следует регулировать в файле logging.properties (согласно http://docs.oracle.com/javase/7/docs /api/java/util/logging/SimpleFormatter.html )
источник
Обновите до последней версии
Начиная с этой фиксации , это исправлено в разрабатываемой версии Tomcat. И вот уже вышли версии 9.0.13, 8.5.35 и 7.0.92.
Из журнала изменений 9.0.13 :
Есть аналогичные записи в 7.0.92 и 8.5.35 списке изменений.
Результатом этого изменения является подавление предупреждения, когда
source
атрибут объявляется дляContext
элемента в server.xml или context.xml. Поскольку именно в этих двух местах Eclipse помещает такой атрибут, это устраняет эту конкретную проблему.TL; DR : обновите Tomcat до последней версии в своей ветке, например 9.0.13 или новее.
источник
Это простое решение для этого предупреждения:
Наконец, перезапустите сервер, сообщение должно исчезнуть.
источник
Пожалуйста, проверьте, не были ли какие-либо файлы jar, в частности, jar, не были приняты как локальные, поэтому поместите в папку lib, затем создайте файл WAR
источник