Exception java.lang.SecurityException: class "javax.servlet.FilterRegistration"

来源:互联网 发布:薛之谦淘宝店铺号 编辑:程序博客网 时间:2024/05/24 05:15

Java.lang.SecurityException: class “javax.servlet.FilterRegistration“‘s signer information does not match signer information of other classes in the same package

at java.lang.ClassLoader.checkCerts(ClassLoader.java:898)at java.lang.ClassLoader.preDefineClass(ClassLoader.java:668)at java.lang.ClassLoader.defineClass(ClassLoader.java:761)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)at java.net.URLClassLoader.access$100(URLClassLoader.java:73)at java.net.URLClassLoader$1.run(URLClassLoader.java:368)at java.net.URLClassLoader$1.run(URLClassLoader.java:362)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:361)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at org.spark-project.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:136)at org.spark-project.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:129)at org.spark-project.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:98)at org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:126)at org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:113)at org.apache.spark.ui.WebUI.attachPage(WebUI.scala:78)at org.apache.spark.ui.WebUI$$anonfun$attachTab$1.apply(WebUI.scala:62)at org.apache.spark.ui.WebUI$$anonfun$attachTab$1.apply(WebUI.scala:62)at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)at org.apache.spark.ui.WebUI.attachTab(WebUI.scala:62)at org.apache.spark.ui.SparkUI.initialize(SparkUI.scala:63)at org.apache.spark.ui.SparkUI.<init>(SparkUI.scala:76)at org.apache.spark.ui.SparkUI$.create(SparkUI.scala:195)at org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:146)at org.apache.spark.SparkContext.<init>(SparkContext.scala:473)at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:59)at WordCount.main(WordCount.java:28)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

这里写图片描述
在idea中运行本地Spark出现class “Java.servlet.FilterRegistrantion”不匹配,在网上查了很多:
1.有让删除javax.servlet开头的库的
2.有让参考https://stackoverflow.com/questions/28086520/spark-application-throws-javax-servlet-filterregistration
3.有让
这里写图片描述

==================== 以下正确解决 ====================
于是我们需要在pom.xml中,视情况把不同版本的servlet-api给除掉,这里我选择的是除掉Hadoop-commont中的旧版本servlet-api:

<dependency>    <groupId>org.apache.hadoop</groupId>    <artifactId>hadoop-common</artifactId>    <exclusions>        <exclusion>            <groupId>javax.servlet</groupId>            <artifactId>*</artifactId>        </exclusion>    </exclusions></dependency>

这里写图片描述
依次检查完所有的间接依赖,一个个处理好,再重新编译程序,测试,知道程序可以正常跑起来。这里需要特别注意,如果程序运行前export的CLASSPATH中的某个路径里有旧的jar包,一定要清理干净再测试,否则可能你已经在pom.xml中解决了问题,但无论怎么测试都不行,仍然还是jar包冲突,结果发现是CLASSPATH中的某个路径的旧jar包没清理干净导致的,那就浪费时间了

阅读全文
0 0
原创粉丝点击