使用WebapplicationInitializer的Cloudbees说没有找到WebApplicationContext

时间:2013-06-05 23:30:46

标签: spring cloudbees servlet-3.0

在家中使用Spring 3.2,JSF 2.1,JBoss AS7.1,Cloudbees使用JBoass AS7.0.1。我也在使用Servlet 3.0和一个WebApplicationInitializer(一个弹簧类)。(我认为问题的根源是WebApplicationInitializer没有被加载,也许它被加载太晚了?早期?)我有一个web.xml和我只有在应该打开JSF页面的视图上才会显示此消息,如果我输入类似/xlksdf.xhtml的废话我会收到不同的无关错误消息。

首先,当我在家中将我的应用程序部署到JBoss AS7.1时,它才会在cloudbees上正常运行。

当我对应用程序进行预警并部署到cloudbees时,我得到了这个异常

java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
    org.springframework.web.jsf.FacesContextUtils.getRequiredWebApplicationContext(FacesContextUtils.java:83)
    org.springframework.web.jsf.el.SpringBeanFacesELResolver.getWebApplicationContext(SpringBeanFacesELResolver.java:91)
    org.springframework.web.jsf.el.SpringBeanFacesELResolver.getBeanFactory(SpringBeanFacesELResolver.java:79)

Cloudbees在错误屏幕底部显示服务器

JBoss Web/7.0.1.Final

在家里,我只需删除实现WebApplicationInitializer的类就可以重新创建这个问题。这让我相信,我在云计算上得到这个的最可能的原因是因为WebApplicationInitializer没有被识别?也许它在Servlet 2.5模式下运行?我正在运行JBoss,因为错误消息是servlet 3.0。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

首先要尝试在同一JBoss 7.0.1上运行您的应用,以确保这不是容器问题。

然后,您应该使用ServletContainerInitializer部署一个非常基本的servlet 3.0 Web应用程序来确认您的假设