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
相关产品推荐
相关产品推荐

