2011-12-23 10 views
3

私はJoda Time 2.0を使用するScalaスクリプトを書いています。なぜScalaはorg.joda.time.Periodのメンバーを見ることができないと言っていますか?

私は私のスクリプトを実行しようとすると、私はこのようなエラーが出る:

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です。

私は他のジョダ時間のクラスを使用して問題のないよので、このクラスは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)) 

と:ジョダコンバート-1.2.jarが私のクラスパスにあるように、意味をなさない

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) 

私はタイプ(私はScalaに新しいです)で何かばかげていないことを確認するために、私はこれを試しました:val p = Period.hours(5)と同じ種類のエラーを持っています。

+1

問題を再現できません。小さいスクリプトを試しました.2つのjarファイルを依存関係として指定すると、問題なく実行されます。最小の非動作例とそれを実行するために使用するコマンドを提供できますか? – Philippe

答えて

6

this threadによると、クラスパスにJoda Convertという名前のJoda時間依存性が含まれていない可能性があります。

+0

私はこれが本当に問題であったという曖昧な記憶を持っています。 –

+0

誰かが*回答*をPlay固有のものに翻訳してください。私はこれを何度も読んだことがあります。ここでは、私が今直面している問題に関する唯一の情報源ですが、私の人生にとっては、実際にコードを動作させるために何が起こる必要があるか理解できません(コンパイル)play(2.5.x)の下で – Techmag

+0

このorg.joda "%" joda-convert "%" 1.8.1 "をbuild.sbtに読み込んだ人は、あなたが探している修正ではありません... – Techmag