Scala kullanan Joda Time ile sınıf arızası hatası


91

Joda Time deposunu SBT'ye ekliyorum

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

Sonra neşeyle böyle kullanıyorum:

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

Ancak, projeyi SBT'de derlediğimde, kötü bir sonuç alıyorum:

[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'ın 2.0 sürümünü denedim, ancak aynı hatayı alıyorum.

Yanıtlar:


176

Bu bağımlılığı ekleyin:

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

Joda zamanının isteğe bağlı bir bağımlılığıdır. Scala derleyicisinin joda-time jar ile çalışmayı kabul etmesi için kendi projeme eklemek zorunda kaldım.

Sorununuz aynı görünüyor.

Sürüm, düzenleme anındaki gibidir, en son sürümler burada bulunabilir


61
Gelecekte, Scala için isteğe bağlı olmamasının nedeni, Java derleyicisinin eksik notları olan bir sınıfı yükleyebilmesi ve Scala'nın yüklememesidir. Guava ve JSR-305 ile aynı sorunu yaşadım.
Alexey Romanov

benim için çalıştı 12 Şub 2013, "joda-time" % "joda-time" % "2.1"ve"org.joda" % "joda-convert" % "1.2"
Dustin Getz

9
Bir kütüphanenin çalışmaması kabul edilemez çünkü birisi bazı kütüphaneleri ayrı tutmanın pragmatik olacağını düşündü. Özellikle java'nın defacto zaman kütüphanesi.
Hassan Syed

% 100 emin değilim ama bu bağımlılık jodatime davranışını etkiliyor. Düzinelerce bağımlılığı olan bir projem var, ancak joda-convertbu kadar toString for Datetime var yyyy-mm-ddThh-mm-ss. jodatimeVe joda-convertbağımlılıklar ile basit bir proje yarattım, bu yüzden içinde var yyyy-mm-ddThh-mm-ss.000Z.
Cherry

5
@ user2829759 Diyelim ki ek açıklamanın geldiği a.jara içeren bir bağımlılığınız var . Java'da, kullanabileceğiniz varsa kodunuzda olmadan inşa yolda; Scala'da yapamazsınız. @B class A@Bb.jarAa.jarb.jar
Alexey Romanov

1

Benzer bir sorunla karşılaşıyordum:

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

Açıkça bir bağımlılık eklemek jcip-annotations-1.0.jarsorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.