2012-10-27 10 views
7

मैं स्कैला 2.9.2 का उपयोग कर रहा हूं।एक साधारण स्ट्रिंग को स्वरूपित करना, लेकिन 'java.lang.No.SuchMethodError`

भागो स्काला और एक सरल कोड का परीक्षण, इस कोड है ... ठीक है:

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

लेकिन मैं नहीं समझ सकता है क्या क्या है, जबकि मैं एक सरल अनुप्रयोग में है कि कोड डाल दिया, ठीक संकलन, कार्यावधि में यह इसे फेंकता है:

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) 

क्या आप कृपया मेरी मदद कर सकते हैं? धन्यवाद।

+2

ऐसा लगता है कि आप रनटाइम –

+0

@ किमस्टेबल पर उपयोग कर रहे मानक लाइब्रेरी के एक अलग संस्करण के विरुद्ध संकलित कर रहे हैं धन्यवाद, यह एक सुराग है, मैं इसे ठीक करने की कोशिश कर रहा हूं ... –

+0

@ किमस्टेलबेल आपने मुझे घंटे बचाया ! दरअसल मैं '2.9.2' के लिए संकलित था, और .jar फ़ाइल को' 2.10.0-आरसी 1' के तहत चलाता हूं। क्या आप इसे उत्तर के रूप में पोस्ट कर सकते हैं ताकि मैं इसे स्वीकार कर सकूं? फिर से धन्यवाद :-) –

उत्तर

12

ऐसा लगता है कि आप रनटाइम पर उपयोग कर रहे मानक लाइब्रेरी के एक अलग संस्करण के खिलाफ संकलित कर रहे हैं।

+1

धन्यवाद। मैं '2.9.2' के लिए संकलित था और' 2.10.0-RC1' के तहत .jar फ़ाइल चलाया। समाधान: मैं [xsbt] (http://www.scala-sbt.org/) का उपयोग कर रहा हूं, इसलिए इस 'scalaVersion: = "2.10.0-RC1 युक्त रूट डीआईआर पर एक नई फ़ाइल' build.sbt' बनाएं "'। –

संबंधित मुद्दे