使用Scala使用Joda Time进行类破坏的错误

时间:2012-12-13 09:00:44

标签: scala sbt jodatime

我正在使用

将Joda Time存储库添加到SBT
libraryDependencies ++= Seq(
  "joda-time"         % "joda-time"           % "2.1"
)

然后我喜欢这样使用它:

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

但是,当我在SBT编译项目时,我感到讨厌:

[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)

我尝试了joda-time的2.0版本,但得到了同样的错误。

2 个答案:

答案 0 :(得分:175)

添加此依赖项:

  

“org.joda”%“joda-convert”%“1.8.1”

这是joda-time的可选依赖项。 我不得不在我自己的项目中添加它,以便scala编译器接受使用joda-time jar。

您的问题似乎是一样的。

版本截至编辑时,可以找到最新版本here

答案 1 :(得分:1)

我遇到了类似的问题:

[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)

明确添加依赖项jcip-annotations-1.0.jar解决了这个问题。