Estou adicionando o repositório Joda Time ao SBT com
libraryDependencies ++= Seq(
"joda-time" % "joda-time" % "2.1"
)
Então, eu o uso alegremente assim:
val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")
ymd.parseDateTime("20121212")
Mas, quando compilo o projeto no SBT, recebo um desagradável:
[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)
Tentei a versão 2.0 do joda-time, mas obtive o mesmo erro.
"joda-time" % "joda-time" % "2.1"
e"org.joda" % "joda-convert" % "1.2"
joda-convert
toString para Datetime éyyyy-mm-ddThh-mm-ss
. Criei projeto simples comjodatime
ejoda-convert
dependeices, então nele eu crieiyyyy-mm-ddThh-mm-ss.000Z
.a.jar
que contém a@B class A
, de onde@B
vem a anotaçãob.jar
. Em Java, você pode usarA
em seu código se você tivera.jar
semb.jar
no caminho de construção; em Scala, você não pode.Eu estava tendo um problema semelhante:
Adicionar explicitamente uma dependência
jcip-annotations-1.0.jar
resolveu o problema.fonte