运行我的应用程序时,我得到以下信息:
The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
我想知道造成这种错误的原因是什么?
最佳答案
首先,这是警告,而不是错误。差异非常大。该Web应用程序可以继续运行。警告仅是为了通知开发人员与预期/自然行为不同的情况,这些情况不一定会破坏功能。这对于开发人员不了解配置和/或其后果的情况非常有用。
该监听器通常由JSF TLD文件和ServletContainerInitializer
自动注册。如果您实际上已在Webapp的web.xml
中显式注册了相同的监听器,则可以收到此警告消息。
此警告无害。它基本上是在告诉您,您不需要在Webapp的web.xml
中为特定的目标servlet容器显式注册监听器。您可以从Web应用程序的<listener>
中安全地删除有问题的web.xml
条目。
但是,在某些情况下(例如,当打算将webapp部署到无法从TLD正确加载监听器和/或不支持ServletContainerInitializer
的有问题的servlet容器时),必须进行显式注册。
也可以看看:
关于jsf - 已经为此上下文配置了监听器 “com.sun.faces.config.ConfigureListener”。重复定义已被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716352/