it is caused by conflict of dependency,spark-core1.4 need dependency of
javax.servlet-api:3.0.1it can be resolved to add dependency to built.sbt as
that: "javax.servlet" % "javax.servlet-api" % "3.0.1",
From: wwyando...@hotmail.com
To: user@spark.apache.org
Subject: Spark1.4 application throw java.lang.NoClassDefFoundError:
javax/servlet/FilterRegistration
Date: Sun, 19 Jul 2015 11:08:25 +0800
hi
I have build a spark application with IDEA. when run SparkPI , IDEA throw
exception as that :
Exception in thread "main" java.lang.NoClassDefFoundError:
javax/servlet/FilterRegistration at
org.spark-project.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:136)
at
org.spark-project.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:129)
at
org.spark-project.jetty.servlet.ServletContextHandler.(ServletContextHandler.java:98)
at org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:108)
at org.apache.spark.ui.JettyUtils$.createServletHandler(JettyUtils.scala:99)
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:61) at
org.apache.spark.ui.SparkUI.(SparkUI.scala:74) at
org.apache.spark.ui.SparkUI$.create(SparkUI.scala:190) at
org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:141) at
org.apache.spark.SparkContext.(SparkContext.scala:440) at
org.learn.SparkPI$.main(SparkPI.scala:27)at
org.learn.SparkPI.main(SparkPI.scala)at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)Caused by:
java.lang.ClassNotFoundException: javax.servlet.FilterRegistrationat
java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
java.lang.ClassLoader.loadClass(ClassLoader.java:425)at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)at
java.lang.ClassLoader.loadClass(ClassLoader.java:358)
And the application SparkPI like this: def main(args:Array[String]): Unit = {
val conf = new SparkConf().setAppName("Spark Pi")
conf.setMaster("local")
val spark = new SparkContext(conf)
//spark.addJar("D:\\BigdataResearch\\SparkLeaning\\out\\artifacts\\sparkleaning_jar\\sparkleaning.jar")
val slices = if (args.length > 0)args(0).toInt else 2
val n = 10 * slices
val count = spark.parallelize(1 to n, slices).map{ i =>
val x = random * 2 -1
val y = random * 2 -1
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)
println("Pi is roughly" + 4.0 * count / n)
spark.stop()
}
}
And the build.sbt like this:name := "SparkLearning"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"org.apache.hive"% "hive-jdbc" % "0.13.1" ,
"org.apache.hadoop" % "hadoop-common" % "2.2.0" excludeAll
ExclusionRule(organization = "javax.servlet"),
"org.apache.hadoop" % "hadoop-client" % "2.2.0" excludeAll
ExclusionRule(organization = "javax.servlet"),
"org.scalatest" %% "scalatest" % "2.2.0" ,
"org.apache.spark" %% "spark-core" % "1.4.0",
"org.apache.spark" %% "spark-sql" % "1.4.0",
"org.apache.spark" %% "spark-hive" % "1.4.0",
"org.apache.spark" %% "spark-mllib" % "1.4.0",
"org.apache.spark" %% "spark-streaming" % "1.4.0",
"org.apache.spark" %% "spark-streaming-kafka" % "1.4.0" ,
"org.eclipse.jetty"%"jetty-servlet"%"8.1.14.v20131031",
"org.eclipse.jetty"%"jetty-http"%"8.1.14.v20131031",
"org.eclipse.jetty"%"jetty-server"%"8.1.14.v20131031",
"org.eclipse.jetty"%"jetty-util"%"8.1.14.v20131031",
"org.eclipse.jetty"%"jetty-security"%"8.1.14.v20131031",
"org.eclipse.jetty"%"jetty-plus"%"8.1.14.v20131031",
"org.apache.kafka"%%"kafka"%"0.8.2.1",
"net.sf.json-lib"%"json-lib"%"2.4" from
"http://gradle.artifactoryonline.com/gradle/libs/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar";,
"com.databricks"%%"spark-csv"%"1.0.3"
)Please give me some suggestion !