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

怎甘沉沦 提交于 2019-12-10 04:19:38

问题


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.


回答1:


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



来源:https://stackoverflow.com/questions/13103374/formatting-a-simple-string-but-java-lang-nosuchmethoderror

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!