【问题标题】:java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(); from WeldMessageConveyorjava.lang.IllegalAccessError: 试图访问方法 com.google.common.collect.MapMaker.makeComputingMap();来自 WeldMessageConveyor
【发布时间】:2014-07-20 09:06:34
【问题描述】:

当我尝试在 weblogic12 上部署我的 webApp 时出现以下异常:

weblogic.application.ModuleException: java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; from class org.jboss.weld.logging.WeldMessageConveyor
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalAccessError: tried to access method com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/concurrent/ConcurrentMap; from class org.jboss.weld.logging.WeldMessageConveyor
at org.jboss.weld.logging.WeldMessageConveyor.<init>(WeldMessageConveyor.java:61)
at org.jboss.weld.logging.WeldMessageConveyerFactory.getDefaultMessageConveyer(WeldMessageConveyerFactory.java:27)
at org.jboss.weld.logging.LoggerFactory.<init>(LoggerFactory.java:37)
at org.jboss.weld.logging.LoggerFactory.loggerFactory(LoggerFactory.java:51)
at org.jboss.weld.bootstrap.WeldBootstrap.<clinit>(WeldBootstrap.java:126)
Truncated. see log file for complete stacktrace

有人知道为什么吗?我的应用程序使用 Errai

【问题讨论】:

  • 基于other issue,您使用的番石榴版本似乎存在类加载器问题
  • 这确实有帮助,谢谢。

标签: java gwt weblogic gxt errai


【解决方案1】:

根据@JoseM 评论,this link 提供了帮助。我现在申请的一个快速解决方法是将我的番石榴库从 16.0.1 降级到 14.0.1

【讨论】:

  • 此错误的原因是 weblogic 依赖于旧版本的 guava,而您的依赖项中从来没有版本。在较新版本的番石榴 makeComputingMap 中被删除。降级番石榴不是最好的选择。您应该升级您的 weblogic 服务器,以便它拥有最新的 guava 版本。
  • 非常感谢这里的 selenium 有同样的问题 'java.lang.IllegalAccessError: 试图访问方法 com.google.common.util.concurrent.SimpleTimeLimiter' ,从 3.6.0 降级到 3.4.0解决了这个问题。希望它可以帮助某人
  • 您好,这位 Aditya Neurgaonkar。我正在使用 guava-18.0.jar。我在 Windows 上没有这个问题。但是在Unix环境下。你能确认它是特定于操作系统的吗?
  • @AdityaNeurgaonkar,Java 不是特定于操作系统的。只需检查您的应用程序正在加载的库。
猜你喜欢
  • 1970-01-01
  • 2011-10-27
  • 2016-05-31
  • 2020-12-30
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-22
相关资源
最近更新 更多