Java 在Spring MVC中包含swagger后,无法在jetty中运行应用程序

Java 在Spring MVC中包含swagger后,无法在jetty中运行应用程序,java,spring-mvc,guava,embedded-jetty,swagger,Java,Spring Mvc,Guava,Embedded Jetty,Swagger,我能够运行我的SpringMVC应用程序,直到我为API文档引入了swagger依赖关系 现在,当我在jetty server中运行应用程序时[run as->run jetty],我得到以下错误 java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.asMap(Lcom/google/common/collect/ListMultimap;)Ljava/util/Map; at com.mangofactory

我能够运行我的SpringMVC应用程序,直到我为API文档引入了swagger依赖关系

现在,当我在jetty server中运行应用程序时[run as->run jetty],我得到以下错误

java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.asMap(Lcom/google/common/collect/ListMultimap;)Ljava/util/Map;
    at com.mangofactory.swagger.scanners.ApiListingReferenceScanner.getResourceGroupRequestMappings(ApiListingReferenceScanner.java:146)
在网上搜索,我看到关于将
com.google.guava
升级到15.0版本的评论,但问题仍然存在

触发错误的更改:pom.xml:

<dependency>
  <groupId>com.mangofactory</groupId>
  <artifactId>swagger-springmvc</artifactId>
  <version>0.8.8</version>
</dependency>

芒果工厂

我卡住了,请帮帮我

更新:在tomcat中运行,但不在jetty中运行

更新[11/11]:

  • 将swagger版本升级到0.9.1
  • 将guava版本升级到18.0
  • mvn dependency:tree
    仅显示一个番石榴版本

    guava:guava:jar:18.0:compile


  • 即使现在也存在同样的问题

    您的类路径上可能有多个Guava依赖项,在这种情况下,Guava 15.0中的
    Multimaps
    类可能被早期Guava版本(甚至Google Collections版本)中的
    Multimaps
    类“隐藏”

    您应该运行
    mvn dependency:tree
    ,查看Guava 15.0是否是唯一的Guava依赖项,或者是否包含其他版本(通常通过其他库中的可传递依赖项)

    如果您发现这样的依赖关系,应该在pom.xml中找到

    备注:如果这些库依赖于Guava15.0中删除的类和/或方法,您可能需要升级它们。但如果他们远离@Beta API,这就不应该发生,因为他们应该这样做


    编辑:

    根据您的
    mvn dependency:tree
    输出,这似乎不是依赖冲突,可能与此有关,Glassfish捆绑了不同版本的番石榴?您没有使用Glassfish,但可能需要查看应用服务器可能添加到类路径的依赖项

    更多信息: -
    -

    我很抱歉给这么一篇老文章添加内容,但两年后我又遇到了同样的问题。 似乎swagger webmvc引用了maven依赖关系树中未列出的依赖关系。这可能是因为该项目(及其后续项目springfox-swagger2)在内部使用Gradle而不是Maven

    帮助我的解决方案是在(我的两个)springfox依赖项中添加以下对guava的排除:

    <exclusions>
          <exclusion>
                   <groupId>com.google.guava</groupId>
                   <artifactId>guava</artifactId>
          </exclusion>
    </exclusions>
    
    
    番石榴
    番石榴
    
    谢谢,我将分析并返回依赖关系树。我记得我在EclipseIDE上的pom.xml中的依赖关系层次结构中检查了这一点。但让我再检查一下mvn依赖项:tree只显示了一个番石榴版本。请在帖子中查看我的更新谢谢,很遗憾我不能再做一次+1:)。。一旦我发现同样的问题,我会接受。谢谢你,艾蒂安