Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在glassfish服务器上部署eclipse项目_Java_Eclipse_Glassfish - Fatal编程技术网

Java 无法在glassfish服务器上部署eclipse项目

Java 无法在glassfish服务器上部署eclipse项目,java,eclipse,glassfish,Java,Eclipse,Glassfish,我正在尝试在glassfish上开发我的应用程序,我使用eclipse luna,但出现以下错误: 加载应用程序时发生异常:java.lang.IllegalStateException: ContainerBase.addChild:start:org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException:PWC1430:无法添加的侦听

我正在尝试在glassfish上开发我的应用程序,我使用eclipse luna,但出现以下错误:

加载应用程序时发生异常:java.lang.IllegalStateException: ContainerBase.addChild:start: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>

javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
com.sun.faces.config.ConfigureListener

有人见过这个吗???

错误消息清楚地描述了问题:

无法添加以下类型的侦听器: 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>

br.com.hrtech.atenditiono.listener.ContadorSessao
删除此条目,它应该可以工作

如果这些解决方案之一无法解决问题,请确保在使用新设置重新部署项目之前,
Clean&Build

顺便说一句,您发布的
web.xml
部分表明,您正在使用过时和不推荐的技术(即JSP),若您开发一个应该在Glassfish上运行的新web应用程序(我想至少是版本3),那个么在2014年就并没有任何意义了。对于标准JSF2.xWeb应用程序,您不需要像
com.sun.faces.config.ConfigureListener这样的东西


你应该考虑切换到一个更近的“软件栈”(JSF 2,EJB 3.1,JPA 2)。

如果我删除侦听器,它也不工作,它说不能部署…我忘了说这个项目来自于VPN存储库。我想在删除侦听器后,你会得到不同的错误。也许你可以用这个更新你的问题或者问一个新问题。我有完全相同的问题。web.xml中引用的类实现了HttpSessionListener