1

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)
4

1 に答える 1

3

スタックトレースは、 MyFacesを使用していて、コードの前のある時点でFacesContext.setCurrentInstance(FacesContext.getCurrentInstance())が呼び出され、この種の無限ループが発生することを示しています。

これまでに提供された情報に基づいて私が知ることができるのはそれだけです。フェイスコンテキストの現在のインスタンスが現在のインスタンスで設定されている理由がわかりません。おそらくそれはあなた自身のコードのバグであるか、何かが間違って設定されています。クラスパスに汚染がないかどうかを確認し(古いバージョンのJARを複製)、奇妙なことをしていない場合はスタートアップコード(、、などFilter#init())を確認します。ServletContextListener#contextInitialized()

于 2012-09-03T11:06:48.263 に答える