我想在Websphere上部署企业项目。
我遇到以下异常。
可能是什么原因?
[03.09.12 11:21:05:636 CEST] 0000001a webapp E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
java.lang.StackOverflowError
at java.lang.ThreadLocal$ThreadLocalMap.getEntry(ThreadLocal.java:371)
at java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:254)
at java.lang.ThreadLocal.get(ThreadLocal.java:138)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:293)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
at javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)
答案 0 :(得分:3)
你正在使用MyFaces的堆栈跟踪suggests,并且在代码之前的某个时刻调用了FacesContext.setCurrentInstance(FacesContext.getCurrentInstance())
,这将导致这种无限循环。
根据目前提供的信息,我可以告诉他们。我不确定为什么使用当前实例设置了faces上下文的当前实例。也许这是您自己的代码中的错误,或者错误配置的东西。验证污染的类路径(重复的旧版本JAR)并验证任何启动代码(Filter#init()
,ServletContextListener#contextInitialized()
等),如果它没有做一些奇怪的事情。