您现在的位置是:首页 > 文章详情

关于dubbo2.6.3之后无法运行在tomcat的问题,看这里。

日期:2018-10-12点击:365

最近由于 jboot 升级了dubbo,导致很多用户无法使用 jboot 在 tomcat 正常运行,会报找不到类会出现如下的问题:

org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660) 

出现这个错误的原因并不是 jboot 去依赖或使用了spring的相关功能,而是由于在tomcat环境下,由于servlet 3.0 会去自动加载依赖所有 jar包的 web-fragment.xml。 这是 servlet 3.0 的标准。

从 dubbo 2.6.3 之后,dubbo.jar 内置了 web-fragment.xmlweb-fragment.xml 又去加载 org.springframework.web.context.ContextLoaderListener 进行 dubbo 内部的初始化过程,但是在 jboot 引入dubbo的时候,已经对spring 体系进行了排除,因此 tomcat 会出现如上的错误。

如何解决呢?

原文链接:https://my.oschina.net/yangfuhai/blog/2244622
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章