转载

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

理工男海哥的博客 设计模式

正文

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

原 荐 关于dubbo2.6.3之后无法运行在tomcat的问题,看这里。
  理工男海哥 发布于 今天 11:46

字数 398

阅读 90

收藏 0

jboot Dubbo Tomcat

最近由于 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 会出现如上的错误。

如何解决呢?

1、方案1、我已经向 dubbo 官方提出 issues 并给出解决方案 ,地址: https://github.com/apache/incubator-dubbo/issues/2570 ,这个需要等到官方的解决方案 或者 态度。 2、方案2、在自己的项目里,创建一个叫 org.springframework.web.context.ContextLoaderListener 实现接口 javax.servlet.ServletContextListener , 不需要走任何的实现。例如: https://gitee.com/fuhai/jpress/blob/master/starter-tomcat/src/main/java/org/springframework/web/context/ContextLoaderListener.java 就不会再出现这样的错误。 3、方案3、若dubbo官方不解决这个问题,jboot可能考虑内置 org.springframework.web.context.ContextLoaderListener 这个类,做一个空的实现。

© 著作权归作者所有

共有人打赏支持

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

理工男海哥

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

开源项目作者

作为一个开源项目作者,是时候站出来拯救世界了!

领取条件:开源项目被开源中国收录的开发者可领取

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

十周年

开源中国十周岁啦~ 感谢 OSCer 一路同行

领取条件:领取开源报告并收获三位 OSCer 点亮即可领取

粉丝 839

博文 37

码字总数 36073

作品 5

昌平

其他

相关文章 最新文章

CAS服务端redis集群搭建

注:cas4.0.x+Tomcat7+Jdk7+redis3.0 CAS中的票据默认是存储在TicketRegistry中的,若是想要实现CAS服务端的集群,首先要做的是将票据共享到缓存中。 1.实现AbstractDistributedTicketRegist...

战五渣

2016/10/15

129

1

关于在使用tomcat做开发测试的某些时候无端报ClassNotFound异常的解决方法

很多人都使用tomcat来作为java web项目的服务器,特别是在开发阶段,选择的人更多。本文所说的问题针对tomcat的开发环境,在正式环境中不会出现这个问题。 前段时间,在进行项目运行的时候出...

阿信sxq

2015/08/01

0

8

Spring Cloud(三) 把Spring Cloud 打成jar包 war包部署到server上

一、前言 怎样把已经开发的spring cloud 项目进行打包部署,其实过程和spring boot 的是一样的。经过摸索之后,才发现其实spring cloud 的每个Project 可以直接打成jar包运行,因为里面自带了...

上善若水

2017/09/05

0

0

Maven + Eclipse + Tomcat - 开启项目调试之旅

本文的读者需要拥有一些Maven基础知识和实践,如果没有,请直接绕过或者先看一些关于Maven教程,比如Juven翻译的《Maven权威指南》,google一下便知。 开门见山,首先抛出一个问题(如果你对...

hyper0x

2012/02/27

0

0

关于发布到tomcat的项目里的图片消失问题

我最近做项目出现了些问题,其中一个就是上传图片到服务器,成功显示出来了。但是到了后面过了段时间发现图片无法显示了,到tomcat的webapps目录里看看,项目前段时间上传的图片不见了。这是...

蜡笔小小小新

2015/09/22

167

0

没有更多内容

加载失败,请刷新页面

加载更多
python里使用反斜杠转义遇到问题记录

1>str = 'sed -i "s/include virtual=/"//_navigation//header_meta.html/"/include virtual=/"//zt//_navigation//header_meta.html/"/g" ' + uri_path2>str = 'sed -i "s/include vir......

坦途abc

14分钟前

1

0

ORA-03113:通信通道的文件结尾

问题描述:在爬取数据之后向远程数据库存相关数据时,出现该错误。 暂时解决方案:发现每次爬取较大量数据进行存储的时候会出现这种错误,而分批量爬取数据,然后再进行存储就不会出现这个问...

fang_faye

17分钟前

1

0

二进制免编译安装php之缺少包整理

1、php安装的时有两种方式: (1):php作为apapche的模块形式存在,需要用apxs指定apapche位置,并且用apxs来自动的加载模块;需要结合apapche使用(处理动态请求); (2):php作为一个独立的服务...

芬野de博客

17分钟前

1

0

elasticsearch同步msysql

ElasticSearch的版本是elasticsearch-6.3.1 mysql的数据是5.7 logstash版本是6.3.1 ElasticSearch的插件elasticsearch-head-master ,现在加压好了,直接放在ElasticSearch目录下面就好了,这...

rechardchensir

18分钟前

2

0

原 荐 关于dubbo2.6.3之后无法运行在tomcat的问题,看这里。
C++ map下标访问的问题

先简单介绍一下map,C++中的map属于STL的范畴,通过key-value的方式保存。 map的插入,插入map有两种方式,一种是调用insert方法: map<int, int> m1; m1.insert(pair<int, int>(1, 20)); 第...

FLYUP_CHEN

21分钟前

2

0

没有更多内容

加载失败,请刷新页面

加载更多
原文  https://my.oschina.net/yangfuhai/blog/2244622
正文到此结束
Loading...