Почему Scala говорит, что не видит членов org.joda.time.Period? - PullRequest
4 голосов
/ 23 декабря 2011

Я пишу скрипт Scala, который использует Joda Time 2.0.

Когда я пытаюсь запустить свой скрипт, я получаю такие ошибки:

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

Я также получаю сообщение для Period.minutes, Period.hours и Period.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 Ответ

6 голосов
/ 21 мая 2012

Согласно этой теме , проблема могла заключаться в том, что ваш путь к классу не включал зависимость Joda Time с именем Joda Convert.

...