BUG战役之路-后台报错:javax/management/j2ee/statistics/Stats

这里是引用

  • 在使用SpringJMS时,引入相应的jms依赖后,编译时正常,通过maven插件在tomcat运行时却报这个错。
  • 网上不外乎三种解决方案,我都做了尝试
方案1:添加j2ee依赖
<dependency> 
  <groupId>javax</groupId>
  <artifactId>j2ee</artifactId>
  <version>1.4</version>
</dependency>

首先,这个包在maven的官方库里是没有的,废了很大的劲,才下了个,并导入到了本地的maven库,添加到项目里
然后又报这个错:
在这里插入图片描述
在这里插入图片描述

经过分析,原因是j2ee-1.4.jar下的包(javax/servlet/ServletContext)和web容器(tomcat)的包重复了,所以类加载失败。前者这个jar包jms需要调用,所以,也不可能不引人或者在引入的地方加<scope> provided </scope>。后者是容器指定加载的,我不打算侵入容器内部,怕造成其他问题。所以结果就是,这条路暂时走不通了。

方案2:更换Web容器

我反正更换了很多版本,都不行,又折腾了很久

方案3:更改JDK版本

网上的意思说是JDK版本不对,也就是说,正确的JDK版本本来就应该包含这个缺少的包,就不会报错。我觉得也有道理,本来这种底层的东西,就应该是环境自带的,于是乎,我又试了很多不同的JDK版本。结果都报同样的错。极度无语

折腾了许久,事情好像走上了死胡同。最后从头开始,反复的思考问题产生的原因,突然发现还有个方案:
最终解决方案:改官方的jar包

以前有种思维定式,总认为官方的jar包不能改,会破坏稳定性,但既然我能明确影响的范围,为什么就不能改?
于是,到j2ee-1.4.jar下,将如下路径的包删除:
在这里插入图片描述

更新maven,项目正常启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值