A very simple example which works well with Spark 1.2, and fail to compile with Spark 1.3:
build.sbt: name := "untitled" version := "1.0" scalaVersion := "2.10.4" libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.0" Test.scala: package org.apache.spark.metrics import org.apache.spark.SparkEnv class Test { SparkEnv.get.metricsSystem.report() } Produces: Error:scalac: bad symbolic reference. A signature in MetricsSystem.class refers to term eclipse in package org which is not available. It may be completely missing from the current classpath, or the version on the classpath might be incompatible with the version used when compiling MetricsSystem.class. Error:scalac: bad symbolic reference. A signature in MetricsSystem.class refers to term jetty in value org.eclipse which is not available. It may be completely missing from the current classpath, or the version on the classpath might be incompatible with the version used when compiling MetricsSystem.class. This looks like something wrong with shading jetty. MetricsSystem references MetricsServlet which references some classes from Jetty, in the original package instead of shaded one. I'm not sure, but adding the following dependencies solves the problem: libraryDependencies += "org.eclipse.jetty" % "jetty-server" % "8.1.14.v20131031" libraryDependencies += "org.eclipse.jetty" % "jetty-servlet" % "8.1.14.v20131031" Is it intended or is it a bug? Thanks ! Jacek