Java Jersey 应用程序启动时出现 NoSuchMethodError

2023-11-30

当我尝试在 Tomcat 上启动 Jersey 应用程序时,遇到了一个非常奇怪的错误。相同的代码可以在其他计算机上运行。我尝试重新安装 tomcat、所有 Maven 依赖项,甚至 Eclipse 和 Java 本身,但没有成功。我想,似乎正在加载一个糟糕的泽西版本?

任何正确方向的指示都将受到赞赏。

这是有效的 pom:http://pastebin.com/NacsWTjz

和实际的 pom:http://pastebin.com/H6sHe4ce

2015-02-13 13:43:40,870 [localhost-startStop-1] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/middleware-server] - StandardWrapper.Throwable
java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:304)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:285)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4901)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5188)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Note:请参阅上面的评论以获取进一步的讨论和提示。

此错误通常意味着类路径上同时存在 JAX-RS 1 和 JAX-RS 2 jar。 Jersey 2 使用 JAX-RS 2 (javax.ws.rs-api-2.0.1.jar),但如果你有jsr311-api.jar另外,即 JAX-RS 1,有一个javax.ws.rs.core.Application在每个罐子里。但是jsr311-api Application没有方法getProperties() (hence NoSuchMethodError).

我得出的结论是,您所需要做的就是将上述排除添加到 swagger 依赖项中。 Jackson 2.0 提供程序(依赖于 JAX-RS 1)似乎被 2.4.1 提供程序(使用新版本)覆盖。所以我们不需要自己添加。当它被覆盖时,它似乎留下了jsr311-api.jar。因此,如果我们排除它,则没有人可以尝试使用它,这看起来是当前的问题

<dependency>
    <groupId>com.wordnik</groupId>
    <artifactId>swagger-core_2.10</artifactId>
    <version>1.3.11</version>
    <exclusions>
        <exclusion>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Jersey 应用程序启动时出现 NoSuchMethodError 的相关文章

随机推荐

  • 如何使用Retrofit进行同步调用

    我正在尝试使用 Retrofit call enqueue DrawCircles 获取数据 当我调试值时 但我认为它不会等待 我的函数将继续执行其余的代码行 所以当我运行它时 问题是结果列表 myListCoord 始终为空 如何进行同步
  • 如何在服务器响应上写入文件对象而不在服务器上保存文件?

    我正在将 Spring 与 DWR 一起使用 我想返回一个文件对象作为响应 但是我将文件 要发送 保存在服务器临时位置 然后将其位置作为锚标记的 href 发送到客户端 但是我想知道是否有一种方法可以抛出将文件直接发送到响应对象上的浏览器
  • 地图标记不显示(JavaScript/Google 地图 API V3)

    我在使用 Google Maps API v3 显示地图标记时遇到问题 我试图将它们全部保存在一个数组中 以使显示大量内容相对简单 目前 地图加载正常 但抛出错误Uncaught TypeError Object has no method
  • 带问号和与号的 mod_rewrite(使用 PHP)

    我有一个基于 PHP 的 Web 应用程序 我正在尝试应用 Apache 的 mod rewrite 原始 URL 的形式为 我想将它们转换为 http example com home x 5 请注意 在重写页面名称时 我还有效地 移动
  • WebApi 授权过滤器,在 json 负载中带有令牌

    我一直在研究 AspNetWebApi 的授权 但关于该主题的信息有点稀疏 我有以下选择 在查询字符串上传递 API 令牌 将 API 令牌作为标头传递 使用基本身份验证传递 API 令牌 将 API 令牌传递到 json 中的请求负载上
  • Python Json 解析器[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个具有以下结构的 JSON 文件 contributors null truncated false text HomeShop18 DreamJob to professio
  • 将 Vue npm 模块导入我的 javascript 文件

    使用 NPM 将 VueJs 导入我的 javascript 文件的正确方法是什么 我收到 Vue 未定义错误 First 安装包 npm install vue 然后将其导入到您想要使用 Vue 的任何文件中 import Vue fro
  • 如何在没有会话的情况下使用 Spring Security?

    我正在使用 Spring Security 构建一个 Web 应用程序 该应用程序将运行在 Amazon EC2 上并使用 Amazon 的弹性负载均衡器 不幸的是 ELB 不支持粘性会话 因此我需要确保我的应用程序在没有会话的情况下正常工
  • AccessibilityService 在重新启动时停止接收事件

    我有一个使用辅助功能服务来收听通知的应用程序 在用户重新启动之前它可以正常工作 如果重新启动 您必须从辅助服务菜单中禁用 重新启用该服务 为什么应用程序重启后无法获取事件 Override protected void onServiceC
  • Android 市场应用程序的最大大小?

    市场上的 Android 应用程序的大小有限制吗 我有一个有很多声音的应用程序 因此 apk 大小超过 10 Mb Thanks 根据this最近的 Android 开发者博客文章 50 MB是新的限制 但是 您应该尝试使应用程序的大小远低
  • 隐藏字段 $$viewid、$$xspsubmitid、$$xspexecid、$$xspsubmitvalue 和 $$xspsubmitscroll 的含义

    当我查看 XPage 的源代码时 我看到一些隐藏字段 viewid xspsubmitid xspexecid xspsubmitvalue and xspsubmitscroll 有一些文章像this and this这解释了 xspsu
  • python3中的惰性切片

    我在 python 中有一个巨大的列表 1 800 000 个项目 它是使用map 来自大约 1000 个 JSON 文件的函数 我想检查几个首要项目以确保脚本正常工作 我这样做是这样的 items map lambda file load
  • Httpclient 4,错误302。如何重定向?

    我想访问一个首先需要 tomcat 服务器 身份验证的站点 然后使用 POST 请求登录并让该用户查看该站点的页面 我使用Httpclient 4 0 1 第一次身份验证工作正常 但登录时总是抱怨此错误 302 暂时移动 我保留了cooki
  • Javascript - 更改指定元素中元素的src

    在 html 中 我有很多 od DIV 其名称 是的 名称 而不是 ID 分别为 p001 p002 p003 如下所示 div img src div div img src div div img src div etc 在 Java
  • 推力减小不适用于不相等的输入/输出类型

    我正在尝试使用 Thrust 减少值数组的最小值和最大值 但我似乎陷入了困境 给定一个浮点数组 我希望在一次传递中减少它们的最小值和最大值 但是使用推力的减少方法 我反而得到了所有模板编译错误的根源 或至少是阿姨 我的原始代码包含 5 个值
  • 自动终止长时间运行的查询 (MySql)、Apache Tomcat DataSource

    我们的 Java Web 应用程序具有搜索功能 允许用户在大型数据库中搜索记录 如果用户指定了错误的搜索参数 他们最终会得到一个似乎永远不会结束的查询 因为它需要几个小时才能运行 这是一个 Web 应用程序 因此他们一次又一次地尝试 查询占
  • 处理图像时出现OutOfMemory异常[重复]

    这个问题在这里已经有答案了 可能的重复 OutOfMemoryError 位图大小超出 VM 预算 Android 我正在编写一个程序 该程序使用图库中的图像 然后在活动中显示它们 一个图像与活动 然而 我连续三天一遍又一遍地遇到这个错误
  • URL 中片段标识符的有效字符列表?

    我正在使用片段标识符为我的 Web 应用程序中的 AJAX 事件创建永久链接与这个人相似 就像是 http www myapp com calendar filter year 2010 month 5 我已经进行了大量搜索 但找不到片段标
  • Microsoft Graph API 不尊重 OData

    我试图拉取特定组内的所有用户并获取他们的传递成员身份 我要达到的端点是 https graph microsoft com v1 0 groups id transitiveMembers microsoft graph user sele
  • Java Jersey 应用程序启动时出现 NoSuchMethodError

    当我尝试在 Tomcat 上启动 Jersey 应用程序时 遇到了一个非常奇怪的错误 相同的代码可以在其他计算机上运行 我尝试重新安装 tomcat 所有 Maven 依赖项 甚至 Eclipse 和 Java 本身 但没有成功 我想 似乎