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.<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: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.<init>(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.<init>(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.FilterRegistration    at 
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 = 100000 * 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 ! 
                                                                                
  

Reply via email to