几天以来,我尝试在一个游戏项目中使用 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 版本?
到目前为止我已经尝试过:
- 从缓存依赖项中删除 jodatime 文件夹(当然这不起作用,因为它总是会再次下载)。
- 在项目依赖项中插入 joda-time 1.6.2(手动和托管方式)。
- 搜索调用核心依赖项的位置,以便我可以将其删除(到目前为止还没有运气)。
忘记提及我面临的问题是当数据到达吗啡进行保存时,我创建了一个全新且格式良好的类,其中包含 4 个 joda-time 字段,并不断收到此错误:
[MappingException: Error mapping field:TimeOfDay.TimeStart]
这发生在MorphiaObject.datastore.save(pAccess);
最佳答案
我也一直在研究依赖管理: Play Framework core dependency management/exclusion
并且有一个指向正确方向的指针。
基本上,您想修改您的 Build.scala,并使用显式 deps 重新定义您的 appDependency 并使用 .exclude()。您可能需要将 play 本身声明为依赖项(如上面的链接所示),然后显式排除冲突的 joda 时间。
您还可以使用“依赖项”命令查看游戏控制台中每个依赖项引入的内容。
关于playframework - Play Framework 2.1 删除核心依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15877272/