1. ホーム
  2. scala

[解決済み] Scalaを使用したJoda Timeのクラスブロークンエラー

2023-03-26 07:10:49

質問

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バージョンを試しましたが、同じエラーが出ます。

どうすれば解決しますか?

この依存関係を追加してください。

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

joda-timeのオプションの依存関係です。 私は、scalaコンパイラがjoda-time jarでの作業を受け入れるために、自分のプロジェクトでこれを追加しなければなりませんでした。

あなたの問題は同じようです。

バージョンは編集時のもので、最新バージョンは以下のサイトで確認できます。 はこちら