2012-12-13 15 views
89

sto aggiungendo la repository Joda Time to SBT conClasse con Joda Ora utilizzando Scala

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

Poi ho allegramente usare in questo modo:

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

Ma, quando compilo il progetto in SBT, ho un brutto:

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

ho provato la versione 2.0 di Joda-tempo, ma ottenere lo stesso errore.

risposta

168

Aggiungi questa dipendenza:

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

Si tratta di una dipendenza opzionale di Joda-tempo. Ho dovuto aggiungerlo nel mio progetto per il compilatore di scala per accettare di lavorare con il jar joda-time.

Il problema sembra essere lo stesso.

versione è al momento del montaggio, le versioni più recenti possono essere trovate here

+59

Per il futuro, la ragione per cui non è facoltativo per Scala è che il compilatore Java può caricare una classe con annotazioni mancanti e Scala no. Ho avuto lo stesso problema, ad es. Con Guava e JSR-305. –

+0

ha funzionato per me il 12 feb 2013, '" joda-time "%" joda-time "%" 2.1 "' e '" org.joda "%" joda-convert "%" 1.2 "' –

+9

è inaccettabile che una libreria non funzioni Lavorare perché qualcuno pensava che sarebbe stato pragmatico tenere separate alcune librerie. Soprattutto la libreria di tempo defacto di java. –

1

stavo correndo in un problema simile:

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

esplicitamente l'aggiunta di una dipendenza jcip-annotations-1.0.jar risolto il problema.

Problemi correlati