Voici un exemple:Si j'essaie de comparer 2 valeurs DateTime joda-time dans Scala, j'obtiens java.lang.NoClassDefFoundError. Comment régler ceci?
import org.scala_tools.time.Imports._
...
val dt1 : DateTime = new DateTime ("2010-09-01T12:00Z")
val dt2 : DateTime = new DateTime ("2010-10-01T12:10Z")
println (dt1 < dt2) // This is the Main.scala:48 line mentioned in the stack trace below
...
Si je compile et exécute, je reçois
java.lang.NoClassDefFoundError: scala/Ordered
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.scala_tools.time.JodaImplicits$class.RichReadableInstant(Implicits.scala:70)
at org.scala_tools.time.Imports$.RichReadableInstant(Imports.scala:20)
at myproject.Main$.main(Main.scala:48)
...
Quelle peut être la raison et comment résoudre ce problème?
J'utilise tous (joda-time, SBT, Scala, SUN JVM) les dernières versions stables (excl joda-time - j'utilise sa dernière version de snapshot).
Exactement. J'ai remplacé My java scala-time par time_2.8.0-0.2.jar à partir de votre lien et le problème a disparu. J'utilisais time-2.8.0-SNAPSHOT-0.2-SNAPSHOT parce que je supposais que c'est plus récent, mais maintenant il semble que ce ne l'est pas. – Ivan