You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by tuxdna <tu...@gmail.com> on 2014/04/11 14:31:57 UTC

mahout-math-scala 0.9 binding gives NoClassDefFoundError: scala/reflect/ClassManifest using Scala 2.10.2

I have included Mahout 0.9 libraries with Scala 2.10.2 in my project's
build.sbt as follows:

scalaVersion :="2.10.2"

libraryDependencies += "org.apache.mahout" % "mahout-core" % "0.9"

libraryDependencies += "org.apache.mahout" % "mahout-math" % "0.9"

libraryDependencies += "org.apache.mahout" % "mahout-examples" % "0.9"

libraryDependencies += "org.apache.mahout" % "mahout-math-scala" % "0.9"

libraryDependencies += "org.scala-lang" % "scala-library" % "2.10.2"

libraryDependencies += "org.scala-lang" % "scala-reflect" % "2.10.2"


When I try to use mahout-math-scala bindings described here [1] from
SBT console, I get following:

$ sbt console
Welcome to Scala version 2.10.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_51).

scala> import org.apache.mahout.math.scalabindings._
import org.apache.mahout.math.scalabindings._

scala> val v1 = dvec(1, 0, 1.1, 1.2)
java.lang.NoClassDefFoundError: scala/reflect/ClassManifest
at .<init>(<console>:10)
at .<clinit>(<console>)
at .<init>(<console>:7)
at .<clinit>(<console>)
at $print(<console>)
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 scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:983)
at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:573)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:604)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:568)
at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:745)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:790)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:702)
at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:566)
at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:573)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:576)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:867)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:889)
at xsbt.ConsoleInterface.run(ConsoleInterface.scala:69)
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 sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
at sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:77)
at sbt.Console.sbt$Console$$console0$1(Console.scala:23)
at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
at sbt.Logger$$anon$4.apply(Logger.scala:90)
at sbt.TrapExit$App.run(TrapExit.scala:244)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: scala.reflect.ClassManifest
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 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 40 more


Note that I have included both "scala-library" and "scala-reflect"
dependencies into the project as suggest here [2].

What am I doing wrong? Please suggest.

Regards,
Saleem

[1] http://weatheringthrutechdays.blogspot.com.br/2013/07/scala-dsl-for-mahout-in-core-linear.html
[2] http://stackoverflow.com/questions/18100226/java-lang-noclassdeffounderror-scala-reflect-classmanifest

Re: mahout-math-scala 0.9 binding gives NoClassDefFoundError: scala/reflect/ClassManifest using Scala 2.10.2

Posted by tuxdna <tu...@gmail.com>.
Hi Dmitriy,

I switched to Scala 2.9.3. It works for me now.

Thanks,
Saleem

On Fri, Apr 11, 2014 at 7:39 PM, Dmitriy Lyubimov <dl...@gmail.com> wrote:
> 0.9 release needs scala 2.9
> On Apr 11, 2014 5:32 AM, "tuxdna" <tu...@gmail.com> wrote:
>
>> I have included Mahout 0.9 libraries with Scala 2.10.2 in my project's
>> build.sbt as follows:
>>
>> scalaVersion :="2.10.2"
>>
>> libraryDependencies += "org.apache.mahout" % "mahout-core" % "0.9"
>>
>> libraryDependencies += "org.apache.mahout" % "mahout-math" % "0.9"
>>
>> libraryDependencies += "org.apache.mahout" % "mahout-examples" % "0.9"
>>
>> libraryDependencies += "org.apache.mahout" % "mahout-math-scala" % "0.9"
>>
>> libraryDependencies += "org.scala-lang" % "scala-library" % "2.10.2"
>>
>> libraryDependencies += "org.scala-lang" % "scala-reflect" % "2.10.2"
>>
>>
>> When I try to use mahout-math-scala bindings described here [1] from
>> SBT console, I get following:
>>
>> $ sbt console
>> Welcome to Scala version 2.10.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_51).
>>
>> scala> import org.apache.mahout.math.scalabindings._
>> import org.apache.mahout.math.scalabindings._
>>
>> scala> val v1 = dvec(1, 0, 1.1, 1.2)
>> java.lang.NoClassDefFoundError: scala/reflect/ClassManifest
>> at .<init>(<console>:10)
>> at .<clinit>(<console>)
>> at .<init>(<console>:7)
>> at .<clinit>(<console>)
>> at $print(<console>)
>> 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 scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)
>> at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:983)
>> at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:573)
>> at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:604)
>> at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:568)
>> at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:745)
>> at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:790)
>> at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:702)
>> at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:566)
>> at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:573)
>> at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:576)
>> at
>> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:867)
>> at
>> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
>> at
>> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
>> at
>> scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
>> at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
>> at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:889)
>> at xsbt.ConsoleInterface.run(ConsoleInterface.scala:69)
>> 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 sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
>> at sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:77)
>> at sbt.Console.sbt$Console$$console0$1(Console.scala:23)
>> at
>> sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
>> at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
>> at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
>> at sbt.Logger$$anon$4.apply(Logger.scala:90)
>> at sbt.TrapExit$App.run(TrapExit.scala:244)
>> at java.lang.Thread.run(Thread.java:744)
>> Caused by: java.lang.ClassNotFoundException: scala.reflect.ClassManifest
>> 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 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>> ... 40 more
>>
>>
>> Note that I have included both "scala-library" and "scala-reflect"
>> dependencies into the project as suggest here [2].
>>
>> What am I doing wrong? Please suggest.
>>
>> Regards,
>> Saleem
>>
>> [1]
>> http://weatheringthrutechdays.blogspot.com.br/2013/07/scala-dsl-for-mahout-in-core-linear.html
>> [2]
>> http://stackoverflow.com/questions/18100226/java-lang-noclassdeffounderror-scala-reflect-classmanifest
>>

Re: mahout-math-scala 0.9 binding gives NoClassDefFoundError: scala/reflect/ClassManifest using Scala 2.10.2

Posted by Dmitriy Lyubimov <dl...@gmail.com>.
0.9 release needs scala 2.9
On Apr 11, 2014 5:32 AM, "tuxdna" <tu...@gmail.com> wrote:

> I have included Mahout 0.9 libraries with Scala 2.10.2 in my project's
> build.sbt as follows:
>
> scalaVersion :="2.10.2"
>
> libraryDependencies += "org.apache.mahout" % "mahout-core" % "0.9"
>
> libraryDependencies += "org.apache.mahout" % "mahout-math" % "0.9"
>
> libraryDependencies += "org.apache.mahout" % "mahout-examples" % "0.9"
>
> libraryDependencies += "org.apache.mahout" % "mahout-math-scala" % "0.9"
>
> libraryDependencies += "org.scala-lang" % "scala-library" % "2.10.2"
>
> libraryDependencies += "org.scala-lang" % "scala-reflect" % "2.10.2"
>
>
> When I try to use mahout-math-scala bindings described here [1] from
> SBT console, I get following:
>
> $ sbt console
> Welcome to Scala version 2.10.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_51).
>
> scala> import org.apache.mahout.math.scalabindings._
> import org.apache.mahout.math.scalabindings._
>
> scala> val v1 = dvec(1, 0, 1.1, 1.2)
> java.lang.NoClassDefFoundError: scala/reflect/ClassManifest
> at .<init>(<console>:10)
> at .<clinit>(<console>)
> at .<init>(<console>:7)
> at .<clinit>(<console>)
> at $print(<console>)
> 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 scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)
> at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:983)
> at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:573)
> at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:604)
> at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:568)
> at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:745)
> at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:790)
> at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:702)
> at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:566)
> at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:573)
> at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:576)
> at
> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:867)
> at
> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
> at
> scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
> at
> scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
> at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
> at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:889)
> at xsbt.ConsoleInterface.run(ConsoleInterface.scala:69)
> 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 sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
> at sbt.compiler.AnalyzingCompiler.console(AnalyzingCompiler.scala:77)
> at sbt.Console.sbt$Console$$console0$1(Console.scala:23)
> at
> sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply$mcV$sp(Console.scala:24)
> at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
> at sbt.Console$$anonfun$apply$2$$anonfun$apply$1.apply(Console.scala:24)
> at sbt.Logger$$anon$4.apply(Logger.scala:90)
> at sbt.TrapExit$App.run(TrapExit.scala:244)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.ClassNotFoundException: scala.reflect.ClassManifest
> 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 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 40 more
>
>
> Note that I have included both "scala-library" and "scala-reflect"
> dependencies into the project as suggest here [2].
>
> What am I doing wrong? Please suggest.
>
> Regards,
> Saleem
>
> [1]
> http://weatheringthrutechdays.blogspot.com.br/2013/07/scala-dsl-for-mahout-in-core-linear.html
> [2]
> http://stackoverflow.com/questions/18100226/java-lang-noclassdeffounderror-scala-reflect-classmanifest
>