几天以来,我尝试在一个游戏项目中使用 Joda-time 1.6.2。我知道 Play 框架已经随 Joda-time 2.1 一起提供,根据 joda-time 网站,它应该与 1.6.2 兼容。
我正在尝试编写一个应用程序,要求用户提供 LocalDateTime 并使用 morphia 将类及其属性保存在 MongoDB 上。
我面临一个问题,我必须使用当前正在使用 joda-time 1.6.2 的类,并且我无法更改它的依赖项,也无法将其更新到 2.1。由于我没有使用 joda-Time 2.1,是否有可能如何从 Play Framework 2.1 中删除此依赖项?那么我可以使用 1.6.2 吗?或者至少告诉 play 我只想在我的项目中使用 1.6.2 版本?
到目前为止我已经尝试过:
忘记提及我面临的问题是当数据到达吗啡进行保存时,我创建了一个全新且格式良好的类,其中包含 4 个 joda-time 字段,并不断收到此错误:
[MappingException: Error mapping field:TimeOfDay.TimeStart]
这发生在
MorphiaObject.datastore.save(pAccess);
我也一直在研究依赖管理: Play Framework 核心依赖管理/排除
并且有一个指向正确方向的指针。
基本上你想修改你的 Build.scala,并使用显式 deps 重新定义你的 appDependency 并使用 .exclude()。您可能需要将 play 本身声明为依赖项(如上面的链接所示),然后显式排除冲突的 joda 时间。
您还可以使用“依赖项”命令查看游戏控制台中每个依赖项引入的内容。