已解决:spark报错SecurityException:class javax.servlet.FilterRegistration冲突

11 篇文章 0 订阅
4 篇文章 0 订阅

更新一下
由于我的代码引入了spark-sql,他自己带有hadoop的传递依赖,而我又自己引入了和传递依赖不同版本的hadoop,所以冲突了
可以在spark-sql依赖中加入标签排除冲突的hadoop依赖,如图:
在这里插入图片描述

——————————————————————————————————————

原文:

今天写代码时报错

java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
翻译一下:
java.lang.SecurityException:类“ javax.servlet.FilterRegistration”的签名者信息与同一包中其他类的签名者信息不匹配

啥?????

最后找了一圈,原因是依赖里面的javax.servlet类冲突了,可能你的pom文件里面引入了两个依赖都有这个类,但程序不知道该访问哪一个类所以出错,所以把pom.xml文件里除去冲突的依赖就行。

具体步骤:

1.在idea的Teminal中运行
mvn -f=pom.xml dependency:tree

在这里插入图片描述
这个命令得到项目的依赖树
在这里插入图片描述

2.在结果里面Ctrl+F搜索javax.servlet

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

可以看出,是hadoop里面有个javax.servlet,spark里面也有,我这个项目气候没用到hadoop 的依赖

3.去Pom文件去除冲突的多余依赖

在这里插入图片描述
然后Reimport一下

在这里插入图片描述

问题解决,办法仅做参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值