user1521536
user1521536

Reputation:

Formatting a simple string, but `java.lang.NoSuchMethodError`

I'm using Scala 2.9.2.

Run Scala and test a simple code, this code is… OK:

...
val title = "Hashing file (%s)..." format sizeToStr(file.length)

But I couldn't understand what is what, while I put that code into a simple app, compiling OK, at runtime it throws this one:

java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;
        at group.pals.penguin.app.shasher.Shasher$.calcHash(shasher.scala:119)
        at group.pals.penguin.app.shasher.Shasher$.main(shasher.scala:76)
        at group.pals.penguin.app.shasher.Shasher.main(shasher.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:601)
        at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:71)
        at scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:139)
        at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:71)
        at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:139)
        at scala.tools.nsc.CommonRunner$class.run(ObjectRunner.scala:28)
        at scala.tools.nsc.JarRunner$.run(MainGenericRunner.scala:16)
        at scala.tools.nsc.CommonRunner$class.runAndCatch(ObjectRunner.scala:35)
        at scala.tools.nsc.JarRunner$.runAndCatch(MainGenericRunner.scala:16)
        at scala.tools.nsc.JarRunner$.runJar(MainGenericRunner.scala:28)
        at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:78)
        at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:96)
        at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:105)
        at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

Could you please help me out? Thanks.

Upvotes: 8

Views: 4323

Answers (1)

Kim Stebel
Kim Stebel

Reputation: 42047

It seems like you're compiling against a different version of the standard library than you're using at runtime.

Upvotes: 13

Related Questions