Spark java.lang.SecurityException:class";“javax.servlet.FilterRegistration”';与sbt

Spark java.lang.SecurityException:class";“javax.servlet.FilterRegistration”';与sbt,exception,servlets,apache-spark,Exception,Servlets,Apache Spark,这让我发疯,我尝试过各种解决方案,但都没能奏效。所以我有一个使用Spark的项目,由sbt管理。 我得到了所有错误的答案: Exception in thread "main" java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package

这让我发疯,我尝试过各种解决方案,但都没能奏效。所以我有一个使用Spark的项目,由sbt管理。 我得到了所有错误的答案:

Exception in thread "main" java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
(部分)build.sbt是:

scalaVersion := "2.11.7"

//Library repositories
resolvers ++= Seq(
  Resolver.mavenLocal,
  "Scala-Tools Maven2 Repository" at "http://scala-tools.org/repo-releases",
  "Java.net repository" at "http://download.java.net/maven/2",
  "GeoTools" at "http://download.osgeo.org/webdav/geotools",
  "Apache" at "https://repository.apache.org/service/local/repositories/releases/content",
  "Cloudera" at "https://repository.cloudera.com/artifactory/cloudera-repos/",
  "OpenGeo Maven Repository" at "http://repo.opengeo.org",
  "Typesafe" at "https://repo.typesafe.com/typesafe/releases/",
  "Spray Repository" at "http://repo.spray.io"
)

//Library versions
val geotools_version = "13.2"
val accumulo_version = "1.6.0-cdh5.1.4"
val hadoop_version = "2.6.0-cdh5.4.5"
val hadoop_client_version = "2.6.0-mr1-cdh5.4.5"
val geowave_version = "0.9.0-SNAPSHOT"
val akka_version = "2.4.0"
val spray_version = "1.3.3"
val spark_version = "1.5.0"

//Library Dependencies
libraryDependencies ++= Seq(
  "org.scala-lang" % "scala-library" % scalaVersion.value,
  "org.scala-lang" % "scala-reflect" % scalaVersion.value,
  "org.geotools" % "gt-data" % geotools_version,
  "org.geotools" % "gt-geojson" % geotools_version,
  "org.apache.accumulo" % "accumulo-core" % accumulo_version
    exclude(org = "javax.servlet", name = "servlet-api")
    exclude(org = "javax.servlet", name = "jsp-api"),
  "org.apache.hadoop" % "hadoop-common" % hadoop_version
    exclude(org = "javax.servlet", name = "servlet-api")
    exclude(org = "javax.servlet", name = "jsp-api"),
  "org.apache.hadoop" % "hadoop-client" % hadoop_client_version
    exclude(org = "javax.servlet", name = "servlet-api")
    exclude(org = "javax.servlet", name = "jsp-api"),
  "mil.nga.giat" % "geowave-core-store" % geowave_version,
  "mil.nga.giat" % "geowave-datastore-accumulo" % geowave_version,
  "mil.nga.giat" % "geowave-adapter-vector" % geowave_version,
  "com.typesafe" % "config" % "1.3.0",
  "com.typesafe.akka" %% "akka-actor" % akka_version,
  "io.spray" %% "spray-can" % spray_version,
  "io.spray" %% "spray-routing" % spray_version,
  "io.spray" %% "spray-testkit" % spray_version % "test",
  "org.apache.spark" %% "spark-core" % spark_version,
  "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
)

test in assembly := {}
我试图排除任何名称为
javax.servlet
的内容,但肯定是做错了什么,因为它不起作用


感谢您抽出时间

org.mortbay.jetty
上添加一条排除规则有效。类似于:

libraryDependencies ++= Seq(...).map(
  _.excludeAll(ExclusionRule(organization = "org.mortbay.jetty"))
)