2

数日以来、私はプレイプロジェクトで Joda-time 1.6.2 を使用しようとしています。Play フレームワークにはすでに Joda-time 2.1 が付属しており、joda-time サイトによると、1.6.2 と互換性があるはずです。

ユーザーに LocalDateTime を要求し、モーフィアを使用して MongoDB の属性を持つクラスを保存するアプリケーションを作成しようとしています。

問題に直面しています。現在 joda-time 1.6.2 を使用しているクラスを使用する必要があり、その依存関係を変更することも、2.1 に更新することもできません。私はjoda-Time 2.1を使用していないので、Play Framework 2.1からこの依存関係を削除する方法はありますか? 1.6.2を使用できますか?または、少なくとも私のプロジェクトで 1.6.2 バージョンのみを使用したいということをプレイに伝えますか?

私はこれまでに試しました:

  • キャッシュの依存関係から jodatime フォルダーを削除します (もちろん、常に再度ダウンロードされるため、これは機能しません)。
  • プロジェクトの依存関係 (手動と管理の両方) に joda-time 1.6.2 を挿入します。
  • コアの依存関係が呼び出されている場所を検索して、それを削除できるようにします (今のところうまくいきません)。

私が直面している問題は、データが保存されるために morphia に到着したときであることに言及するのを忘れていました。

[MappingException: Error mapping field:TimeOfDay.TimeStart] 

これはMorphiaObject.datastore.save(pAccess);

4

1 に答える 1

2

私はこれでも依存関係の管理を調べてきました: Play Framework コアの依存関係の管理/除外

そこには正しい方向へのポインターがありました。

基本的に、Build.scala をいじり、appDependencies を明示的な deps で再定義し、.exclude() を使用します。おそらく、 play 自体を依存関係として宣言し (上記のリンクのように)、競合する joda 時間を明示的に除外する必要があります。

また、'dependencies' コマンドを使用して、play コンソールで各依存関係に何がもたらされているかを確認することもできます。

于 2013-04-09T23:03:11.140 に答える