【发布时间】:2015-10-15 07:56:16
【问题描述】:
我正在使用 Jersey 2.5.1。我将 .war 文件打包在 .ear 文件中。在 .war 模块的 WEB-INF\lib 文件夹中,我有 guava-14.0.1.jar。 jersey-common-2.5.1.jar 依赖于 guava。
在 ear/lib 文件夹中,我有另一个 guava jar --> guava-17.0,这是我的项目所需要的。
两个 jar 都有 newIdentityHashSet() 方法,但我仍然面临以下错误:
java.lang.NoSuchMethodError: com.google.common.collect.Sets.newIdentityHashSet()Ljava/util/Set; 在 org.glassfish.jersey.model.internal.CommonConfig.(CommonConfig.java:220) 在 org.glassfish.jersey.server.ResourceConfig$State.(ResourceConfig.java:110) 在 org.glassfish.jersey.server.ResourceConfig.(ResourceConfig.java:351) 在 org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:444) 在 org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:302) 截断。查看完整堆栈跟踪的日志文件
我尝试移除其中一个番石榴罐,但错误相同。我试过在两个地方都保持相同的版本。但是没用。
我在 Weblogic 12C 中进行部署。
对此的任何帮助都会很棒。
【问题讨论】:
-
嗯,方法好像是有的。您是否尝试过获取 guava 的源代码并将其包含在您的源文件夹中,然后将其与项目的其余部分一起构建?
-
不。没试过。我试试看
-
这听起来是个非常糟糕的主意。您不应该构建 Guava,而是链接到它
标签: java rest jersey guava weblogic12c