Ошибка разбитого класса с использованием времени Джоды с использованием Scala
Я добавляю репозиторий 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-версии 2.0, но получаю ту же ошибку.
Ответы
Ответ 1
Добавьте эту зависимость:
"org.joda" % "joda-convert" % "1.8.1"
Это необязательная зависимость от joda-time.
Мне пришлось добавить его в мой собственный проект для компилятора scala, чтобы принять работу с joda-time jar.
Ваша проблема кажется одинаковой.
Версия как во время редактирования, последние версии можно найти здесь
Ответ 2
У меня возникла аналогичная проблема:
[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
разрешило проблему.