【问题标题】:War file deployed on EC2 apache tomcat throws java.lang.NoSuchMethodError: org.glassfish.hk2.utilities.general.GeneralUtilities.getWeakHashClock部署在 EC2 apache tomcat 上的 War 文件抛出 java.lang.NoSuchMethodError: org.glassfish.hk2.utilities.general.GeneralUtilities.getWeakHashClock
【发布时间】:2017-05-23 13:42:59
【问题描述】:

我已经使用运行 8.0.41 版本的 Apache Tomcat 将 war 文件上传到 EC2 实例。我有一个简单的获取请求,它返回文本响应。但是当我调用 get 调用时,我收到以下错误。enter image description here

但是当我将相同的战争部署到我的本地 tomcat 实例时,它的工作完美。非常感谢任何帮助。

【问题讨论】:

  • 看起来您的 WEB-INF/lib 目录中有同一个库的多个版本。在这种情况下加载哪个版本的类可能是一个彩票。
  • 我有这 3 个库。 hk2-api-2.4.0-b25.jar、hk2-locator-2.4.0-b25.jar、hk2-utils-2.4.0-b25.jar
  • 这些 jar 的不同版本是否也可能存在于 Tomcat“lib”目录中?写着org.jvnet.hk2.internal.ServiceLocatorImpl.<init>(ServiceLocatorImpl.java:1154) 的行不是来自hk2-locator-2.4.0-b25.jar。这个罐子里的内容org.jvnet.hk2.internal.ServiceLocatorImpl看起来很不一样。
  • @SteveC,当我提取war文件并查看它时,同一个jar文件有多个版本。我删除了旧版本,只使用了最新的 jar 并解决了这个问题。谢谢。

标签: java maven tomcat servlets amazon-ec2


【解决方案1】:

同一个 jar 文件有多个版本。我删除了旧版本,只使用了最新的 jar,这解决了这个问题。

【讨论】:

    猜你喜欢
    • 2014-04-19
    • 1970-01-01
    • 2010-09-13
    • 2012-07-29
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多