Tomcat到WebLogic移植问题及解决策略
4星 · 超过85%的资源 需积分: 41 128 浏览量
更新于2024-09-13
收藏 34KB DOC 举报
"这篇文章主要探讨了在将基于Tomcat的应用程序移植到WebLogic服务器时遇到的两个典型问题及其解决方案。这些问题涉及到Hibernate3与WebLogic的冲突以及Jomi与WebLogic的冲突,具体表现为类找不到异常和ORB初始化上下文工厂的问题。"
在Java应用的部署过程中,从轻量级的Tomcat服务器迁移到更重量级的企业级应用服务器WebLogic时,可能会遇到一些兼容性和配置问题。以下是对这两个问题的详细分析和解决步骤:
问题一:Hibernate3与WebLogic的冲突
这个问题源于Hibernate3依赖的ANTLR库与WebLogic自带的ANTLR版本冲突。当WebLogic尝试加载类时,由于类路径的设置,导致无法正确识别Hibernate3中的某些类,从而引发`ClassNotFoundException`。更严重的是,由于ANTLR的处理方式,它会调用`System.exit()`导致WebLogic服务中断。
解决方法分为两步:
1. 将项目中独立的ANTLR库(例如antlr-2.7.5H3.jar)复制到WebLogic服务器的类库目录(`%WL_HOME%\server\lib`)。
2. 修改WebLogic的启动脚本(如`startWebLogic.cmd`),在原有`CLASSPATH`设置之前添加新库到`PRE_CLASSPATH`,确保在启动时优先加载项目中的ANTLR版本。
问题二:Jomi与WebLogic的冲突
Jomi是用于JNDI查找的开源库,可能与WebLogic的ORB(对象请求代理)机制不兼容。报错信息提示`MultiOrbInitialContextFactory`类无法找到,表明在初始化ORB上下文工厂时出现问题。
解决这类问题通常需要调整JNDI配置或替换JNDI实现。具体解决方案可能因应用和WebLogic版本的不同而不同,但常见的做法可能包括:
1. 检查应用程序是否依赖了与WebLogic不兼容的第三方JNDI库,如果是,则考虑替换或移除。
2. 在WebLogic的配置文件(如`weblogic.xml`)中设置适当的JNDI属性,避免使用冲突的初始上下文工厂。
3. 如果可能,更新或回滚Jomi库至与WebLogic兼容的版本。
在进行这类移植工作时,理解每个服务器的特性、类加载机制以及它们之间的差异至关重要。此外,充分的测试和调试是避免和解决问题的关键。对于复杂的环境,还应考虑使用容器适配层(如Spring框架)来管理和隔离不同组件的依赖,减少冲突的可能性。
169 浏览量
2011-06-02 上传
点击了解资源详情
点击了解资源详情
2009-05-12 上传
2011-05-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
blackstocking
- 粉丝: 0
- 资源: 14
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍