[英]Unable to deploy eclipse project on glassfish server
我正在尝试在Glassfish上开发我的应用程序,我使用Eclipse Luna,但出现以下错误:
加载应用程序时发生异常:java.lang.IllegalStateException:ContainerBase.addChild:开始:org.apache.catalina.LifecycleException:java.lang.IllegalArgumentException:java.lang.IllegalArgumentException:PWC1430:无法添加类型为br.com的侦听器.hrtech.atendimento.listener.ContadorSessao,因为它没有实现任何必需的ServletContextListener,ServletContextAttributeListener,ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener或HttpSessionAttributeListener接口。 请参阅server.log以获取更多详细信息。
我坚信这与web.xml
有关,我有以下代码,但我无法理解出了什么问题:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
有人见过吗???
错误消息清楚地描述了问题:
无法添加类型为br.com.hrtech.atendimento.listener.ContadorSessao的侦听器,因为它没有实现任何必需的ServletContextListener,ServletContextAttributeListener,ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener或HttpSessionAttributeListener接口。
该消息表明您已将名为br.com.hrtech.atendimento.listener.ContadorSessao
的类注册为侦听器(可能在web.xml
),该类未实现任何必需的接口。
如果要将其注册为侦听器,则必须在类中实现这些接口之一。
因此,您可以执行以下操作:
public class ContadorSessao implements ServletContextListener {
// implement all required methods
}
或者,如果这实际上不应该是侦听器,则您的web.xml
似乎有一个条目,如下所示:
<listener>
<listener-class>br.com.hrtech.atendimento.listener.ContadorSessao</listener-class>
</listener>
删除该条目,它应该可以工作。
如果这些解决方案之一不能解决问题,请确保您Clean & Build
项目,然后再使用新设置重新部署它。
顺便说一句,您发布的web.xml
部分表明您使用的是过时的和过时的技术(即JSP),如果您开发一个可以在Glassfish上运行的新Web应用程序,则该技术在2014年没有任何意义(我猜至少是版本3)。 对于标准的JSF 2.x Web应用程序,您不需要com.sun.faces.config.ConfigureListener
东西。
您应该考虑切换到较新的“软件堆栈”(JSF 2,EJB 3.1,JPA 2)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.