繁体   English   中英

无法在Glassfish服务器上部署Eclipse项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM