Слушатель "com.sun.faces.config.ConfigureListener" уже настроен для этого контекста. Повторное определение было проигнорировано - PullRequest
6 голосов
/ 03 января 2012

При запуске приложения я получаю следующую информацию:

The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.

и я хочу знать, в чем причина такой ошибки?

1 Ответ

12 голосов
/ 03 января 2012

Прежде всего, это предупреждение , а не ошибка . Разница довольно огромная. Веб-приложение может просто продолжать работать. Предупреждения предназначены только для информирования разработчика об обстоятельствах, которые отличаются от ожидаемого / естественного поведения, которое не обязательно нарушает функциональность. Это очень полезно для случая, когда разработчик не знал о конфигурации и / или ее последствиях.

Этот слушатель обычно автоматически регистрируется с помощью файла TLD JSF и ServletContainerInitializer. Вы можете получить это предупреждающее сообщение, если вы на самом деле явно зарегистрировали тот же самый слушатель в вашем веб-приложении web.xml.

Это предупреждение не вредит. По сути, он говорит вам, что вам не нужно явно регистрировать прослушиватель в web.xml вашего веб-приложения для конкретного целевого контейнера сервлета. Вы можете безопасно удалить соответствующую запись <listener> из web.xml веб-приложения.

Однако явная регистрация обязательна в некоторых случаях, например, когда веб-приложение предназначено для развертывания в контейнере с ошибками сервлета, который неправильно загружает прослушиватель из TLD и / или не поддерживает ServletContainerInitializer.

Смотри также:

...