Hey Ted,
Thanks for the quick response.  Sadly, all of those are 2.10.x:
─$ mvn dependency:tree | grep -A 2 -B 2 org.scala-lang                          
                                             130 ↵
[INFO] |  |  \- org.tukaani:xz:jar:1.0:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.6.4:compile
[INFO] +- org.scala-lang:scala-library:jar:2.10.4:compile
[INFO] +- org.apache.spark:spark-core_2.10:jar:1.4.1:compile
[INFO] |  +- com.twitter:chill_2.10:jar:0.5.0:compile
--
[INFO] |  |  \- org.json4s:json4s-core_2.10:jar:3.2.10:compile
[INFO] |  |     +- org.json4s:json4s-ast_2.10:jar:3.2.10:compile
[INFO] |  |     \- org.scala-lang:scalap:jar:2.10.0:compile
[INFO] |  +- com.sun.jersey:jersey-server:jar:1.9:compile
[INFO] |  |  \- asm:asm:jar:3.1:compile
--
[INFO] +- org.apache.spark:spark-sql_2.10:jar:1.4.1:compile
[INFO] |  +- org.apache.spark:spark-catalyst_2.10:jar:1.4.1:compile
[INFO] |  |  +- org.scala-lang:scala-compiler:jar:2.10.4:compile
[INFO] |  |  \- org.scalamacros:quasiquotes_2.10:jar:2.0.1:compile
[INFO] |  \- org.jodd:jodd-core:jar:3.6.3:compile
--
[INFO] |  +- org.joda:joda-convert:jar:1.2:compile
[INFO] |  +- com.twitter:jsr166e:jar:1.1.0:compile
[INFO] |  \- org.scala-lang:scala-reflect:jar:2.10.5:compile
[INFO] +- 
com.datastax.spark:spark-cassandra-connector-java_2.10:jar:1.2.4:compile
[INFO] +- commons-codec:commons-codec:jar:1.4:compile

Ben


From: Ted Yu [mailto:yuzhih...@gmail.com]
Sent: Wednesday, July 29, 2015 8:30 PM
To: Benjamin Ross
Cc: user@spark.apache.org
Subject: Re: NoClassDefFoundError: scala/collection/GenTraversableOnce$class

You can generate dependency tree using:

mvn dependency:tree

and grep for 'org.scala-lang' in the output to see if there is any clue.

Cheers

On Wed, Jul 29, 2015 at 5:14 PM, Benjamin Ross 
<br...@lattice-engines.com<mailto:br...@lattice-engines.com>> wrote:
Hello all,
I’m new to both spark and scala, and am running into an annoying error 
attempting to prototype some spark functionality.  From forums I’ve read 
online, this error should only present itself if there’s a version mismatch 
between the version of scala used to compile spark and the scala version that 
I’m using.  However, that’s not the case for me.  I’m using scala 2.10.4, and 
spark was compiled against scala 2.10.x.  Perhaps I’m missing something here.

Also, the NoClassDefFoundError presents itself when debugging in eclipse, but 
running directly via the jar, the following error appears:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Seq
        at com.latticeengines.test.CassandraTest.main(CassandraTest.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
        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)
        ... 1 more

I am getting the following warning when trying to invoke maven, but it doesn’t 
seem to be related to the underlying issue:
[INFO] Checking for multiple versions of scala
[WARNING]  Expected all dependencies to require Scala version: 2.10.4
[WARNING]  com.mycompany:test:2.0.5-SNAPSHOT requires scala version: 2.10.4
[WARNING]  com.twitter:chill_2.10:0.5.0 requires scala version: 2.10.4
[WARNING]  org.spark-project.akka:akka-remote_2.10:2.3.4-spark requires scala 
version: 2.10.4
[WARNING]  org.spark-project.akka:akka-actor_2.10:2.3.4-spark requires scala 
version: 2.10.4
[WARNING]  org.spark-project.akka:akka-slf4j_2.10:2.3.4-spark requires scala 
version: 2.10.4
[WARNING]  org.apache.spark:spark-core_2.10:1.4.1 requires scala version: 2.10.4
[WARNING]  org.json4s:json4s-jackson_2.10:3.2.10 requires scala version: 2.10.0
[WARNING] Multiple versions of scala libraries detected!
[INFO] includes = [**/*.scala,**/*.java,]

Here’s the code I’m trying to run:

object CassandraTest {
  def main(args: Array[String]) {
    println("Hello, scala!")

    val conf = new SparkConf(true).set("spark.cassandra.connection.host", 
"127.0.0.1").set(
        "spark.driver.extraClassPath",
        
"/home/bross/.m2/repository/com/datastax/spark/spark-cassandra-connector_2.10/1.2.4/spark-cassandra-connector_2.10-1.2.4.jar;/home/bross/.m2/repository/com/datastax/spark/spark-cassandra-connector_2.10/1.2.4/spark-cassandra-connector_2.10-1.2.4.jar;/home/bross/.m2/repository/org/scala-lang/scala-library/2.10.4/scala-library-2.10.4.jar");

    val sc = new SparkContext("local", "test", conf)
    val sqlContext = new SQLContext(sc)
    val df = sqlContext
      .read
      .format("org.apache.spark.sql.cassandra")
      .options(Map( "table" -> "kv", "keyspace" -> "test"))
      .load()
    val w = Window.orderBy("value").rowsBetween(-2, 0)
    df.select(mean("value").over(w))

  }
}

Here’s my maven file:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>test</artifactId>
    <packaging>jar</packaging>
    <name>${component-name}</name>

    <properties>
        <component-name>le-sparkdb</component-name>
        <hadoop.version>2.6.0.2.2.0.0-2041</hadoop.version>
        <scala.version>2.10.4</scala.version>
        <spark.version>1.4.1</spark.version>
        <avro.version>1.7.7</avro.version>
        <parquet.avro.version>1.4.3</parquet.avro.version>
        <le.domain.version>2.0.5-SNAPSHOT</le.domain.version>
        <le.common.version>2.0.5-SNAPSHOT</le.common.version>
        <le.eai.version>2.0.5-SNAPSHOT</le.eai.version>
        <spark.cassandra.version>1.2.4</spark.cassandra.version>
    </properties>
    <parent>
        <groupId>com.mycompany</groupId>
        <artifactId>le-parent</artifactId>
        <version>2.0.5-SNAPSHOT</version>
        <relativePath>le-parent</relativePath>
    </parent>

    <build>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>${maven.eclipse.version}</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    <projectnatures>
                        
<projectnature>org.scala-ide.sdt.core.scalanature</projectnature>
                        
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
                    </projectnatures>
                    <buildcommands>
                        
<buildcommand>org.scala-ide.sdt.core.scalabuilder</buildcommand>
                    </buildcommands>
                   <classpathContainers>
                        
<classpathContainer>org.scala-ide.sdt.launching.SCALA_CONTAINER</classpathContainer>
                        
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
                   </classpathContainers>
                    <excludes>
                        <exclude>org.scala-lang:scala-library</exclude>
                        <exclude>org.scala-lang:scala-compiler</exclude>
                    </excludes>
                    <sourceIncludes>
                        <sourceInclude>**/*.scala</sourceInclude>
                        <sourceInclude>**/*.java</sourceInclude>
                    </sourceIncludes>
                </configuration>
            </plugin>
            <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-jar-plugin</artifactId>
                                <configuration>
                                   <archive>
                                       <manifest>
                                          
<mainClass>com.mycompany.test.CassandraTest</mainClass>
                                       </manifest>
                                   </archive>
                                </configuration>
                    </plugin>
        </plugins>
        <sourceDirectory>src/main/scala</sourceDirectory>
    </build>

    <dependencies>
        <dependency>
            <groupId>com.twitter</groupId>
            <artifactId>parquet-avro</artifactId>
            <version>${parquet.avro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro</artifactId>
            <version>${avro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
                     <groupId>org.apache.spark</groupId>
             <artifactId>spark-sql_2.10</artifactId>
             <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>le-domain</artifactId>
            <version>${le.domain.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>le-common</artifactId>
            <version>${le.common.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
                <groupId>com.datastax.spark</groupId>
                <artifactId>spark-cassandra-connector_2.10</artifactId>
                <version>${spark.cassandra.version}</version>
        </dependency>
        <dependency>
                <groupId>com.datastax.spark</groupId>
                <artifactId>spark-cassandra-connector-java_2.10</artifactId>
                <version>${spark.cassandra.version}</version>
        </dependency>
    </dependencies>

</project>

Thanks so much for any input.
Ben

Reply via email to