0

我正在使用 Mule Server 3.8 EE,它带来了 commons-lang 2.4。我项目中的一个第三方库需要commons-lang 2.6,因为它使用了这个版本中引入的方法。

所以当我刚开始我的申请时,我得到了一个java.lang.NoSuchMethodError

有没有办法在运行时更新依赖项?到目前为止我尝试了什么:

  • 在我的应用程序中包括 commons-lang 2.6 -> 无效,首先从运行时获取
  • 直接在运行时替换 jar -> studio 中的错误,即缺少 2.4 jar
4

1 回答 1

0

所以也许我迟到了但是 - 这是你的答案。将 jar 分发中较新的库添加到构建路径。在 Java Build Path 屏幕下,您应该会看到列出的库。我需要使用 Apache http-client 4.5.6,这很有趣,因为它带来了许多其他依赖项,所以你的问题非常相关。解决方案是依赖 JAVA(而不是 mule——oops Anypoint 或其他)约定,并确保 JVM 首先加载我的类文件。然后,它不会从骡子的罐子里加载旧的。所以我去了选项卡订单和出口,把骡子移到底部。这个简单、微不足道的改变使它起作用。我想如果我们使用命令行和 vim,我们都会知道这一点。但是所有的 IDE gui 和其他一切都让我们忘记了最简单的事情。请在身体健康的情况下使用。:)

于 2017-07-06T04:06:16.067 回答