已经为此上下文配置了侦听器“com.sun.faces.config.ConfigureListener”。重复的定义已被忽略

Posted

技术标签:

【中文标题】已经为此上下文配置了侦听器“com.sun.faces.config.ConfigureListener”。重复的定义已被忽略【英文标题】:The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored 【发布时间】:2012-02-01 17:36:43 【问题描述】:

我在运行我的应用程序时收到以下信息:

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

我想知道这种错误的原因是什么?

【问题讨论】:

【参考方案1】:

首先,这是一个警告,而不是错误。差异是相当大的。 Web 应用程序可以继续运行。警告只是为了告知开发人员与预期/自然行为不同的情况,这不一定会破坏功能。这对于开发人员不了解配置和/或其后果的情况非常有用。

该侦听器通常由 JSF TLD 文件和 ServletContainerInitializer 自动注册。如果您实际上明确在您的 web 应用程序的 web.xml 中注册了相同的侦听器,您会收到此警告消息。

此警告无害。它基本上是在告诉您,您不需要在 webapp 的 web.xml 中为特定的目标 servlet 容器显式注册侦听器。您可以安全地从 webapp 的 web.xml 中删除有问题的 <listener> 条目。

但是,在某些情况下,显式注册是强制性的,例如当 web 应用程序打算部署到一个有问题的 servlet 容器时,该容器无法从 TLD 正确加载侦听器和/或不支持 ServletContainerInitializer

另见:

could not find Factory: javax.faces.context.FacesContextFactory

【讨论】:

以上是关于已经为此上下文配置了侦听器“com.sun.faces.config.ConfigureListener”。重复的定义已被忽略的主要内容,如果未能解决你的问题,请参考以下文章

过滤器监听器上下文servlet线程安全问题

使用监听器来启动spring

将 Swagger 添加到 Spring MVC 项目(创建 bean 时出错)

xamarin.forms - 音量增大和减小键的事件侦听器

spring学习--详解spring启动配置(经典文章)

如何使用 Qt 4 创建 OpenGL 3 上下文?