Scala를 사용하는 Joda Time의 클래스 중단 오류


91

SBT에 Joda Time 저장소를 추가하고 있습니다.

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 버전을 시도했지만 동일한 오류가 발생합니다.

답변:


177

이 종속성을 추가하십시오.

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

joda-time의 선택적 종속성입니다. 스칼라 컴파일러가 joda-time jar 작업을 허용하려면 내 프로젝트에 추가해야했습니다.

귀하의 문제는 동일한 것 같습니다.

버전은 편집 당시의 버전이며 여기 에서 최신 버전을 찾을 수 있습니다.


61
앞으로 Scala에서 선택 사항이 아닌 이유는 Java 컴파일러가 주석이 누락 된 클래스를로드 할 수 있지만 Scala는 그렇지 않기 때문입니다. 예를 들어 Guava와 JSR-305와 같은 문제가 발생했습니다.
Alexey Romanov

2013 년 2 월 12 일, "joda-time" % "joda-time" % "2.1"그리고"org.joda" % "joda-convert" % "1.2"
Dustin Getz

9
누군가 특정 라이브러리를 분리하는 것이 실용적이라고 생각했기 때문에 라이브러리가 작동하지 않는 것은 용납 할 수 없습니다. 특히 자바의 사실상의 시간 라이브러리.
Hassan Syed 2013

100 % 확실하지 않지만이 종속성은 jodatime 동작에 영향을줍니다. 12 개의 종속성이있는 하나의 프로젝트가 있지만 joda-convert날짜 시간에 대한 toString은 yyyy-mm-ddThh-mm-ss. 나는 jodatimejoda-convert의존성을 가진 간단한 프로젝트를 만들었 으므로 그 안에 yyyy-mm-ddThh-mm-ss.000Z.
Cherry

5
@ user2829759 주석 이에서 오는를 a.jar포함하는 종속성 이 있다고 가정 해 보겠습니다 . Java에서는 빌드 경로에 없는 경우 코드에서 사용할 수 있습니다 . Scala에서는 할 수 없습니다. @B class A@Bb.jarAa.jarb.jar
Alexey Romanov 2016 년

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하면 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.