我想在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)
最佳答案
您正在使用MyFaces的stacktrace suggests,并且在代码中之前调用FacesContext.setCurrentInstance(FacesContext.getCurrentInstance())
的某个时刻,这会导致这种无限循环。
根据到目前为止提供的信息,我只能说这些。我不确定为什么用当前实例设置了faces上下文的当前实例。也许这是您自己的代码中的错误,或者配置错误。验证类路径是否受污染(复制较旧版本的JAR),并验证任何启动代码(Filter#init()
,ServletContextListener#contextInitialized()
等),如果它没有做任何奇怪的事情。
关于java - JSF部署错误“在javax.faces.context.FacesContext.isProcessingEvents(FacesContext.java:300)”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12245849/