【问题标题】:sbt - joda convert not foundsbt - 找不到 joda 转换
【发布时间】:2017-10-10 20:51:49
【问题描述】:

我收到此错误:

[warn] Class org.joda.convert.FromString not found - continuing with a stub.

但在 build.sbt 中明确包含:

libraryDependencies += "joda-time" %  "joda-time" % "2.9.6"
libraryDependencies += "org.joda" % "joda-convert" % "1.8.1"

这似乎是大多数遇到此问题的人的解决方法,例如。 Class broken error with Joda Time using Scala 。 运行依赖图我看到驱逐:

[info]       +-joda-time:joda-time:2.3 (evicted by: 2.9.6)
[info]       +-joda-time:joda-time:2.8.2 (evicted by: 2.9.6)
[info]       +-joda-time:joda-time:2.9.6
[info]       +-org.joda:joda-convert:1.8.1
[info]       +-org.scala-lang.modules:scala-xml_2.11:1.0.5 [S]
[info]
[success] Total time: 10 s, completed May 11, 2017 6:38:09 PM

但似乎最终最新版本获胜,并且看起来包含转换。测试运行良好,日期转换也是如此。

现在,我有点不知所措。我应该如何在 sbt 中修复/调试这个问题?

【问题讨论】:

  • 你能把joda time版本降级到2.1吗libraryDependencies += "joda-time" % "joda-time" % "2.1" libraryDependencies += "org.joda" % "joda-convert" % "1.8.1"
  • @RameshMaharjan 不幸的是它也没有用..
  • @RameshMaharjan 好吧,不,由于 com.typesafe.play:play-json_2.11:2.6.0-M6,它仍然被覆盖到 2.9.6。接下来将尝试依赖覆盖
  • 1) 您已经从传递依赖中获得了 joda,因此可以使用它。问题是 2 个不同的可能不兼容的版本仍然存在。 2)排除传递依赖。但这是图书馆内的某种地雷炸弹。 3)如果可能的话,使用 java 8 time 包(恕我直言最好的方法)。
  • 是的,它仍然无法正常工作,甚至强制对 joda 和 convert 进行依赖覆盖。我现在将尝试排除传递依赖项。@Zernike 在这一点上,现在不可能在所有项目模块中替换 joda。

标签: scala sbt jodatime


【解决方案1】:

所以,就我而言,这只是排除传递依赖的问题。像这样的:

libraryDependencies += "org.com" %% "core" % "0.1-SNAPSHOT" exclude("org.joda", "joda-convert")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2014-08-08
    • 2013-04-06
    • 2015-01-02
    • 2018-04-24
    • 1970-01-01
    • 2011-06-07
    相关资源
    最近更新 更多