Weblogic项目10.3.6迁移至12cR2 404报错及依赖Jar替换咨询
Weblogic 10.3.6升级12cR2依赖替换及404问题处理
核心依赖替换结论
- 原10.3.6版本的
wseeclient.jar可直接使用com.oracle.webservices.wls.jaxrpc-client.jar替换,该jar在12cR2中存放于MW_HOME/oracle_common/modules/目录,完整覆盖旧包提供的JAX-RPC客户端调用能力,不会出现类缺失问题。 - 原10.3.6版本的
webservices.jar不建议直接用weblogic.jar整体替换。12cR2对WebService相关类做了模块化拆分:基础WebService能力确实已经整合进wlserver/server/lib/weblogic.jar,但旧版JAX-RPC服务端、SOAP协议处理的相关类被拆分到了wlserver/modules/com.oracle.webservices.wls.jaxrpc.jar中,直接全量引入weblogic.jar大概率会触发类版本冲突,反而会加重RPC调用链路的类加载异常,最终导致请求URI匹配失败返回404。
配套排查处理步骤
你当前遇到的404报错,本质是RPC调用链路类加载异常导致应用路由映射未正常注册,替换依赖时需要同步做以下配置:
在项目的
WEB-INF/weblogic.xml中添加类加载优先规则,避免Weblogic系统类和应用自带类冲突,配置参考:<weblogic-web-app> <container-descriptor> <prefer-application-packages> <package-name>javax.xml.rpc.*</package-name> <package-name>com.sun.xml.rpc.*</package-name> <package-name>javax.xml.soap.*</package-name> </prefer-application-packages> </container-descriptor> </weblogic-web-app>
- 依赖替换、配置修改完成后,必须清空域下对应服务的部署缓存:删除
DOMAIN_HOME/servers/<你的服务名>/tmp/_WL_user/目录下对应应用的缓存文件夹,避免旧版本类残留影响启动。 - 服务启动后优先检查启动日志,确认没有
ClassNotFoundException、NoSuchMethodError这类RPC相关的类加载错误,再验证接口访问。如果仍有类加载问题,可添加JVM启动参数-verbose:class定位具体冲突类的加载路径。
内容的提问来源于stack exchange,提问作者codediver
相关产品推荐
相关产品推荐

