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,比较粗心大意,问题遇到的或许比较低级,所以记录一下,不对的地方请指正。程序猿拜上!
相关推荐
基于车辆运动学的规划算法 - Hybrid A*/ State Lattice Planning (前置知识:自行车模型、Dubins、Reeds Shepp、多项式曲线、螺旋曲线)
本文将按顺序讲解基于车辆运动学的规划算法,以及需要的前置知识:自行车模型、Dubins和Reeds Shepp曲线、多项式曲线和螺旋曲线
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...
稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案
深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。
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>.
transformer中QKV的通俗理解(剩女与备胎的故事)
用vit的时候读了一下transformer的思想,前几天面试结束之后发现对QKV又有点忘记了, 写一篇文章来记录一下 参考链接: 哔哩哔哩:在线激情讲解transformer&Attention注意力机制(上)在线激情讲解transformer&Attention注意力机制(上)_哔哩哔哩_bilibiliAttention is all you need介绍 更具体的介绍可以去阅读论文在Attention is all you need这篇文章中提出了著名的Transformer模型Transforme
高速SerDes均衡技术解析
均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。
【JavaEE】【Jersey】UriBuilder报错解决方法
错误信息:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 发生原因:两个Jar包中都有UriBuilder这个类,使用了错误的类 解决方案:调整Jar包使用顺序 ...
逆变器技术解析:DDSRF双解耦在正负序分离中的关键作用
本文深入解析了DDSRF双解耦技术在逆变器正负序分离中的关键作用。通过建立正反旋转坐标系并利用交叉反馈解耦网络,DDSRF能快速、精准地分离电网电压中的正负序分量,从而显著提升锁相环在电网不平衡条件下的精度与系统稳定性,是现代高性能并网逆变器的核心算法之一。
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
黏菌优化算法(SMA)详解:从生物智能到优化引擎
黏菌优化算法(SMA)是一种新型生物启发式优化算法,模拟多头绒泡菌的智能觅食行为。该算法包含接近食物、包围食物和抓取食物三个阶段,通过数学模型将生物行为转化为优化过程。SMA采用权重自适应机制和参数振荡模型实现探索与开发的平衡,具有参数简单、收敛性好等优势。算法可通过MATLAB/Python实现,并应用于函数优化、工程设计和神经网络训练等领域。研究表明SMA在求解复杂优化问题时表现优异,未来可通过混沌增强、混合策略等方式进一步提升性能。
Open3D点云数据处理(五):点云、mesh可视化(draw_geometries方法)
本文介绍了Open3D中的draw_geometries可视化方法,可以用于可视化点云和mesh。详细讲述了该方法的各个参数的作用,给出了代码示例。
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>
【3】 灰度变换(1)
第三章(1)【总三】
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
蓝牙模块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...
最新的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
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
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...
解决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;...
Java 集成 keycloak-admin-client 清空用户缓存
需要修改 javax.ws.rs 版本 <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1-ea</version> </dependency>
使用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...
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;
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/...
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-
4859



被折叠的 条评论
为什么被折叠?



