Jersey-Spring集成:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)..

解决jersey服务war deploy后发生java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri AbstractMethodError: javax.ws.rs.core.UriBuilder.uri 阅读详情

Jersey与Spring集成时报的错误:

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;


项目新建采用如下方式,自动生成了一些文件和配置:


pom.xml中默认会导入如下依赖包:


web.xml中会有默认servlet配置如下:


按照此方式生成的项目,将spring集成进来,导入依赖包,如下:


运行放到tomcat中能正常启动,但是访问接口时抛出异常如上所述。

问题就出现在自动生成这部分配置中,因为引入了jersey-spring的jar,内部有jersey-server/core等依赖,出现UriBuilder冲突,刚开始不知道冲突原因,后来debug发现是自动生成那两个依赖container和media都有这个东西。

解决方案:

        1. 首先要将pom.xml中自动生成的这两个依赖去掉。

         2. 在web.xml中自动生成的servlet换掉,使用jersey-spring中的Springservlet,下面有截图。

publish - 重启项目,就正常了。由于默认生成的可能修改时候不太注意,所以容易漏掉所以手动创建后集成spring时一定要注意!


关于集成后接口返回Json格式数据的支持:

在SpringServlet或者其父类里面找相关的配置,可以在启动时初始化的web.xml参数init-param,其中com.sun.jersey.config.property.resourceConfigClass是resourceConfig类的配置,可以自己实现,默认使用DefaultResourceConfig类作为默认配置。当需要使用json数据时,需要注册Json处理类,这时要自定义config类继承自ResourceConfig或者DefaultResourceConfig都可以,然后在web.xml中配置如下:


实现类如下:添加一个json处理类(需要引入以来包jackson相关的)


根源上是javax.ws.rs.core.UriBuilder冲突,在jersey-spring内部依赖jsr311-api的jar和jersey-container-grizzly2-http内部依赖的javax.ws.rs-api的jar冲突。它们俩都是实现UriBuilder,javax.ws.rs里面实现是UriBuilderImpl, jsr311里面的实现是JerseyUriBuilder。依赖的接口和实现不同,所以冲突。

更多:Jersey+Spring,Jersey+Spring中文

刚接触Jersey,比较粗心大意,问题遇到的或许比较低级,所以记录一下,不对的地方请指正。程序猿拜上!















【registry】registry AbstractMethodError javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws 1.概述 在 【registries】registrie rest-service idea 无法引入的背景下,以及 【registry】NoSuchFieldError: INCLUDE_ALL 以及 此时已经看起来不报错了,只是运行的时候报错。 java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 运行打开界面的时候报错 然后根据需要 阅读详情

相关推荐

基于车辆运动学的规划算法 - Hybrid A*/ State Lattice Planning (前置知识:自行车模型、Dubins、Reeds Shepp、多项式曲线、螺旋曲线)

本文将按顺序讲解基于车辆运动学的规划算法,以及需要的前置知识:自行车模型、Dubins和Reeds Shepp曲线、多项式曲线和螺旋曲线

BigDavid123的博客 4859

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/...

项目启动正常,访问确报错: 原因:UriBuilder 这个类被两个jar包给实现了(UriBuilderImpl.class)导致冲突。只要报冲突的jar包去掉一个 (依个人所需的包而定) 本次错误是因为javax.ws.rs-api-2.0.jar 的public abstract class javax.ws.rs.core.UriBuilder 与cxf-2.2.10.jar的pub...

weixin_30251829的博客 1702

稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案

深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。

Cheson的专栏 1358

AbstractMethodError 错误

问题描述: tomcat部署的war包,启动tomcat的时候正常,但是访问项目的时候一直报500,查看tomcat的报错日志如下: java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 处理方法:查了一下和依赖中的一些 jersey 相关的包冲突导致的,可以看看pom.xml文件中的两个依赖, <dependency&gt.

clouderpig的博客 1986

transformer中QKV的通俗理解(剩女与备胎的故事)

用vit的时候读了一下transformer的思想,前几天面试结束之后发现对QKV又有点忘记了, 写一篇文章来记录一下 参考链接: 哔哩哔哩:在线激情讲解transformer&Attention注意力机制(上)在线激情讲解transformer&Attention注意力机制(上)_哔哩哔哩_bilibiliAttention is all you need介绍 更具体的介绍可以去阅读论文在Attention is all you need这篇文章中提出了著名的Transformer模型Transforme

Peter的博客 1万+

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1947

【JavaEE】【Jersey】UriBuilder报错解决方法

错误信息:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 发生原因:两个Jar包中都有UriBuilder这个类,使用了错误的类 解决方案:调整Jar包使用顺序 ...

天天向上 Up Up Up (*^▽^*) 2032

逆变器技术解析:DDSRF双解耦在正负序分离中的关键作用

本文深入解析了DDSRF双解耦技术在逆变器正负序分离中的关键作用。通过建立正反旋转坐标系并利用交叉反馈解耦网络,DDSRF能快速、精准地分离电网电压中的正负序分量,从而显著提升锁相环在电网不平衡条件下的精度与系统稳定性,是现代高性能并网逆变器的核心算法之一。

m3n5b7v8c9x的博客 409

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/

错误 java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119) at com.sun.jersey.sp

KEYUAN358的专栏 6945

黏菌优化算法(SMA)详解:从生物智能到优化引擎

黏菌优化算法(SMA)是一种新型生物启发式优化算法,模拟多头绒泡菌的智能觅食行为。该算法包含接近食物、包围食物和抓取食物三个阶段,通过数学模型将生物行为转化为优化过程。SMA采用权重自适应机制和参数振荡模型实现探索与开发的平衡,具有参数简单、收敛性好等优势。算法可通过MATLAB/Python实现,并应用于函数优化、工程设计和神经网络训练等领域。研究表明SMA在求解复杂优化问题时表现优异,未来可通过混沌增强、混合策略等方式进一步提升性能。

qq_42212808的博客 659

Open3D点云数据处理(五):点云、mesh可视化(draw_geometries方法)

本文介绍了Open3D中的draw_geometries可视化方法,可以用于可视化点云和mesh。详细讲述了该方法的各个参数的作用,给出了代码示例。

孙悟空 3137

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/

servlet类不要写错了,我就写成com.sun.jersey.servlet.ServletContainer,依赖要对,网上说是依赖冲突,复制依赖覆盖就好了 <servlet> <servlet-name>ServletContainer</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

qq_44989936的博客 837

【3】 灰度变换(1)

第三章(1)【总三】

课题分离 659

javax.ws.rs.core.UriBuilder.uri异常

1 问题描述 查看openfire中错误日志发现;java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119

warrah 南极狼 6400

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String

[code="java"] INFO: Server startup in 6705 ms Nov 29, 2013 6:17:38 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [JerseyServlet] in context with pa...

coder2plus 1853

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

javax.ws.rs.core Class UriBuilder

OverviewPackage ClassUseTreeDeprecatedIndexHelp Prev ClassNext Class FramesNo Frames All Classes Summary: Nested | Field | Constr | Method Detail: Field | Constr | Method

evilcry2012的专栏 1951

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java.lang.AbstractMethodError: javax.ws.rs.core.Response$ResponseBuilder.status(ILjava/lang/String;)

响应数据时, 由于缺少jar依赖导致, 引入下面坐标即可 javax.ws.rs javax.ws.rs-api 2.0.1

pri_sta_pub的博客 7402

AbstractMethodError using UriBuilder on JAX-RS

问题描述:Eclipse调试JAX-RS服务没问题,但是在发布服务端时候抛出异常 java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; javax.ws.rs.core.UriBuilder.fromUri(Uri...

weixin_30617797的博客 277

解决jersey服务war deploy后发生java.lang.AbstractMethodError: javax.ws.rs.core...

最近开发项目需要使用jersey 2.4来构建web服务。开发过程中使用maven进行项目的构建,并使用jetty来作为快速调试的web容器。当我通过mvn jetty:run运行项目时,一切安好。但是,悲剧的是当我把项目打包成为war以后,放到其它Java EE容器后,老是报类似下面的错误: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;...

zkaiping的专栏 864

Java 集成 keycloak-admin-client 清空用户缓存

需要修改 javax.ws.rs 版本 <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1-ea</version> </dependency>

bubaiyi的博客 1872

使用Grizzy+Jersey搭建一个RESTful框架()报错Exception in thread "main" java.lang.AbstractMethodError: javax.ws.r...

报错的类涉及UriBuilder,我搜索类发现, 这个类存在于两个包中,我在baidu的时候,也有人提到是jar包冲突,我就删除了 这个依赖,问题解决了。 环境搭建过程请见地址https://blog.csdn.net/jinxfei/article/details/4714809 转载于:https://www.cnblogs.com/BaleW/p/866...

weixin_30756499的博客 279

java.lang.AbstractMethodError: com.xxx.xxx(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;

java.lang.AbstractMethodError: com.xxx.xxx(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;

weixin_45243044的博客 1125

tomcat web容器中,调用jersey client端报错的处理

在web工程中,写main方法,运行ok。 发布到tomcat中后,报错。 javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder Caused by:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/...

weixin_30808693的博客 177

Eureka Server与Weblogic冲突问题解决方案(V6.6.6.Final)

文章目录00 版本说明01 现象02 分析&解决03 总结 00 版本说明 组件 版本 WebLogic 12.2.1.3 Spring Boot 2.1.6.RELEASE spring-cloud-netflix-eureka-server 2.1.2.RELEASE 01 现象 使用eureka server作为注册中心,以war包形式部署到weblogic中时,无论是否配置优先加载项目类库,都会出现项目无法启动的情况。如果使用prefer-application-

syau552king的博客 1063
上一篇: Jersey对返回Json数据格式的支持
下一篇: Eclipse中采用本地作业运行器(Job Runner)运行Hadoop测试(Hadoop2.7.3) - 1
mcatto
博客等级 码龄15年 87粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值