AbstractMethodError 错误「建议收藏」

2022-09-05 11:05:40 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

问题描述: 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文件中的两个依赖,

代码语言:javascript复制
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-server</artifactId>
    <version>2.26</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
     <artifactId>jersey-guice</artifactId>
    <version>1.19.4</version>
 </dependency>

jersey-server 内部依赖了 javax.ws.rs-api包,而jersey-guice 内部依赖了 jsr311 对应包,这两个包都是实现UriBuilder,导致冲突。所以出现了 javax.ws.rs.core.UriBuilder 的错误。 处理:将 jersey-server包中的内部依赖javax.ws.rs-api排除,pom.xml改为:

代码语言:javascript复制
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-server</artifactId>
    <version>2.26</version>
    <exclusions>
            <exclusion>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
            </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
     <artifactId>jersey-guice</artifactId>
    <version>1.19.4</version>
 </dependency>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137100.html原文链接:https://javaforall.cn

0 人点赞