You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Weblogic 12c+Spring Boot 2.0.1集成Jersey部署启动错误求助

我之前帮朋友排查过几乎一模一样的问题!这个java.lang.AbstractMethodError本质就是依赖版本冲突搞的鬼——Weblogic 12c自带了一套Jersey库,而你的Spring Boot应用又打包了另一版本的Jersey,运行时Weblogic先加载了它自带的旧版本类,这些类缺少新版本Jersey里的抽象方法,直接触发了错误。

下面给你一步步的解决办法,亲测有效:

1. 配置Weblogic优先加载应用自身的依赖

创建或修改src/main/webapp/WEB-INF/weblogic.xml,添加类加载优先级配置,强制Weblogic使用应用内的Jersey库,而不是它自带的:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">
    <container-descriptor>
        <!-- 优先加载应用包,覆盖Weblogic自带类 -->
        <prefer-application-packages>
            <package-name>javax.ws.rs.*</package-name>
            <package-name>org.glassfish.jersey.*</package-name>
            <package-name>com.sun.jersey.*</package-name>
            <!-- 如果用到Jackson处理JSON,也加上避免冲突 -->
            <package-name>com.fasterxml.jackson.*</package-name>
        </prefer-application-packages>
        <prefer-application-resources>
            <!-- 指定Jersey提供者的配置文件优先加载 -->
            <resource-name>META-INF/services/javax.ws.rs.ext.Providers</resource-name>
        </prefer-application-resources>
    </container-descriptor>
</weblogic-web-app>

2. 确认Spring Boot的Jersey依赖配置

确保你的Maven/Gradle依赖使用Spring Boot官方的starter,避免引入额外的冲突版本:
如果是Maven,pom.xml里的Jersey依赖应该是:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>

Spring Boot 2.0.1已经内置了兼容的Jersey 2.26版本,不需要手动指定版本,除非你有特殊需求。

3. 检查你的Jersey配置类

确保JerseyConfig继承自正确的类,并且配置没有问题:

import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.stereotype.Component;

@Component
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        // 替换成你的Jersey资源所在包路径
        packages("com.precursor.resource");
    }
}

额外注意事项

  • 如果你的Weblogic是12.1.x版本(较旧),它自带的是Jersey 1.x,这时候冲突会更严重,建议升级到Weblogic 12.2.1及以上版本,或者降级Spring Boot的Jersey版本到兼容的2.x早期版本(但后者不推荐,会损失新特性)。
  • 部署前一定要清理Weblogic的缓存(domain/servers/[你的服务器名]/tmp和cache目录),避免残留的旧类干扰。

内容的提问来源于stack exchange,提问作者SangHo Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:59:11