model-view-controller – java.lang.IllegalStateException:根上下文属性不是WebApplicationContext类型

前端之家收集整理的这篇文章主要介绍了model-view-controller – java.lang.IllegalStateException:根上下文属性不是WebApplicationContext类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在Tomcat 6上的Liferay 5.2.3上部署Portlets.我只为其中一个portlet收到此错误.

 java.lang.IllegalStateException: Root context attribute is not of type WebApplicationContext

我做了一些研究,发现Spring在需要web时实例化portlet应用程序上下文.但在我的web.xml中,我只定义了contextLoaderListner

  

最重要的是,如果Spring正在查找不同的* .jar文件,为什么我的其他portlet会被部署,除了一个?

经过几次重新部署后,我得到了解决方案.有人能说点什么吗?

最佳答案
根本原因似乎是门户/应用程序服务器中的一个静态变量“挂在”portlet的类实例上.两个常见的罪魁祸首是log4j和java日志记录,两者都是应用程序包含者常用的.

有关记录器的更多讨论,请参见log4j and the thread context classloaderhttp://logback.qos.ch/manual/loggingSeparation.html.建议使用带有logback OR的SLF4J,以确保将log4j.jar放在WAR文件中,使其位于正确的类加载器中(尽管某些容器会阻止此解决方案).

此外,容器中存在的其他类可能是原因.记录只是一个常见问题.

原文链接:https://www.f2er.com/spring/432155.html

猜你在找的Spring相关文章