【发布时间】:2015-10-20 20:52:46
【问题描述】:
我正在学习一个教程,但它是一个旧教程,我正在尝试学习新工具和新代码
我正在使用
Weblogic 12.1.3 Jersey 2.21(Jersey 以 .zip 格式下载,而不是通过 Maven) JDK 8 日食火星
我附上了课程的屏幕截图以及项目浏览器。我已经注释掉了类中的所有代码,因为我认为这是导致错误的原因。它不是。
web.xml 文件中的代码如下。
错误信息如下。
有人可以向我解释为什么我会收到此错误消息吗?
【问题讨论】:
-
我没有使用 Maven。我下载了 Jersey .zip 并将所有文件手动复制到我的 lib 文件夹中。另一种解决方案是查看 POM 文件。不知道它在哪里或它是什么,但我认为我的项目中没有一个,因为我没有使用 Maven。
-
您可能没有使用 maven,但问题是一样的 - 您的类路径中有多个版本的 JAX-RS api。我看到您正在使用 WebLogic - 这是否与 JAX-RS 一起提供,如果是,它使用什么版本?
-
这确实与 Jax-rs 作为可部署库一起提供。我通过管理控制台在 Web 服务器上安装了 jar,但仍然收到错误消息。
-
现在我收到错误消息“原因:weblogic.application.ModuleException: java.lang.NoSuchMethodError: org.glassfish.hk2.api.ServiceLocatorFactory.create(Ljava/lang/String;Lorg/ glassfish/hk2/api/ServiceLocator;Lorg/glassfish/hk2/extension/ServiceLocatorGenerator;Lorg/glassfish/hk2/api/ServiceLocatorFactory$CreatePolicy;)Lorg/glassfish/hk2/api/ServiceLocator;"