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

时间:2011-12-23 18:17:46

标签: 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))

我也收到了Period.minutesPeriod.hoursPeriod.days的消息。

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

scala> Period.minutes(5)
res0: org.joda.time.Period = PT5M

我尝试了一些解决方法:

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

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)

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

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

1 个答案:

答案 0 :(得分:6)

根据this thread,问题可能是您的类路径不包含名为Joda Convert的Joda Time依赖项。