web-dev-qa-db-fra.com

Erreur de classe cassée avec Joda Time en utilisant Scala

J'ajoute le référentiel Joda Time à SBT avec

libraryDependencies ++= Seq(
  "joda-time"         % "joda-time"           % "2.1"
)

Ensuite, je l'utilise gaiement comme ceci:

 val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")
  ymd.parseDateTime("20121212")

Mais, quand je compile le projet en SBT, j'obtiens un méchant:

[warn] Class org.joda.convert.FromString not found - continuing with a stub.
[warn] Caught: Java.lang.NullPointerException while parsing annotations in /home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)
[error] error while loading DateTime, class file '/home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)' is broken
[error] (class Java.lang.RuntimeException/bad constant pool tag 10 at byte 42)

J'ai essayé la version 2.0 de joda-time, mais j'obtiens la même erreur.

90
Jack

Ajoutez cette dépendance:

"org.joda"% "joda-convert"% "1.8.1"

C'est une dépendance facultative de joda-time. J'ai dû l'ajouter dans mon propre projet pour que le compilateur scala accepte de travailler avec le joda-time jar).

Votre problème semble être le même.

La version est au moment de l'édition, les dernières versions peuvent être trouvées ici

175
David Pierre

Je rencontrais un problème similaire:

[warn] Class net.jcip.annotations.NotThreadSafe not found - continuing with a stub.
[warn] Caught: Java.lang.NullPointerException while parsing annotations in ~/.ivy2-p2/cache/org.opensaml/xmltooling/jars/xmltooling-1.3.4.jar(org/opensaml/xml/util/IDIndex.class)
[error] error while loading AttributeMap, class file '~/.ivy2-p2/cache/org.opensaml/xmltooling/jars/xmltooling-1.3.4.jar(org/opensaml/xml/util/AttributeMap.class)' is broken
[error] (class Java.lang.RuntimeException/bad constant pool index: 0 at pos: 12058)

Ajout explicite d'une dépendance jcip-annotations-1.0.jar a résolu le problème.

1
mn2013