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 的类来重新创建这个问题。这让我相信我在 cloudbees 上得到这个的最可能原因是因为 WebApplicationInitializer 没有被识别?也许它在 Servlet 2.5 模式下运行?我正在运行 JBoss,正如 servlet 3.0 的错误消息所验证的那样。感谢您的任何帮助。

4

1 回答 1

1

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

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

于 2013-06-06T08:34:45.350 回答