我正在尝试在Weblogic服务器上部署一个包含war文件的Web项目。但是我遇到了如上所述的错误。
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
at com.google.common.eventbus.EventBus.<init>(EventBus.java:138)
我尝试了guava的最新和最旧版本。在最旧的版本中,我遇到了eventbus错误(在旧版本中没有定义该方法)。在最新版本中,我再次遇到了相同的错误。
如何解决这个问题?
编辑:在我的编辑器(IntelliJ)中运行时,它清晰地运行,在weblogic服务器上运行时,部署时出现此错误。
更新:
我刚刚在我的WEB-INF路径中添加了一个类似上面的weblogic.xml文件。不需要任何其他配置,感谢@luc14n0,问题已经解决。
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>