为什么Scala说它看不到org.joda.time.Period的成员?

Avi*_*lax 4 scala jodatime

我正在编写一个使用Joda Time 2.0 的Scala脚本.

当我尝试运行我的脚本时,我得到这样的错误:

error: value weeks is not a member of object org.joda.time.Period
        case "w" => Some(Period.weeks(windowSpecNum))
Run Code Online (Sandbox Code Playgroud)

我也越来越为消息Period.minutes,Period.hoursPeriod.days.

这真的很奇怪,因为我使用其他Joda Time类没有问题,并且因为这个类在Scala REPL中工作正常:

scala> Period.minutes(5)
res0: org.joda.time.Period = PT5M
Run Code Online (Sandbox Code Playgroud)

我尝试了一些解决方法:

error: org.joda.time.Period does not have a constructor
        case "m" => Some(new Period().withMinutes(windowSpecNum))
Run Code Online (Sandbox Code Playgroud)

和:

case "m" => Some(Minutes.minutes(windowSpecNum))
error: error while loading Minutes, Missing dependency 'class org.joda.convert.FromString', required by lib/joda-time-2.0.jar(org/joda/time/Minutes.class)
Run Code Online (Sandbox Code Playgroud)

这没有任何意义,因为joda-convert-1.2.jar在我的类路径中.

只是为了确保我没有对类型做一些愚蠢的事情(我是Scala的新手)我试过这个:val p = Period.hours(5)并得到了同样的错误.

Tom*_*ams 6

根据这个线程,问题可能是你的类路径没有包含一个名为Joda Convert的Joda Time依赖项.