解决WebSphere 6.1与SSH2+JPA2不兼容问题的实用指南

4星 · 超过85%的资源 需积分: 9 55 下载量 196 浏览量 更新于2024-09-18 收藏 684KB DOC 举报
本文主要探讨了在IBM WebSphere 6.1环境中遇到的与SSH2+JPA2架构不兼容的问题,这些问题源于WebSphere 6.1使用的JDK版本(IBM JDK 1.5)以及其内置的一些较旧的jar包。针对不兼容的具体问题,作者提供了两个方面的解决方案: 1. **Struts2不兼容问题**: - 在WebSphere管理控制台中,进入服务器>应用程序服务器>选择服务器>Web容器设置>Web容器>定制属性,新增一个名为"com.ibm.ws.webcontainer.invokefilterscompatibility"的属性,并将其值设为"true"。这有助于提高Struts2的兼容性。 - 需要重启WebSphere 6.1服务以应用此更改。 2. **ASPECTJ不兼容问题**: - WebSphere 6.1默认的aspectjrt.jar版本为1.2,而SSH2通常使用1.6及以上版本。这会导致运行SSH2应用程序时出现"aspectjNoSuchMethodException"。 - 解决方法一:将最新的aspectj版本复制到${WAS_INSTALL_ROOT}/java/jre/lib/ext/目录,如C:\ProgramFiles\IBM\WebSphere\AppServer\java\jre\lib\ext,使得aspectj的最新版本被JDK扩展类装入器加载。 - 解决方法二:在Java虚拟机中定义类路径,将E:\SharedSoftware\WAS6.1\aspectj目录的内容复制到C:\Program Files\IBM\WebSphere\AppServer\java\jre\ 目录下,以便将aspectj的最新版本包含在应用程序类装入器的类路径中。 这两个解决方案都是针对特定的版本冲突进行的适配,旨在帮助那些在生产环境中尝试将SSH2程序部署到较旧版本的WebSphere 6.1,并遇到兼容性挑战的开发者。请注意,这些步骤可能需要根据实际环境进行调整,并且在执行时需谨慎,以避免对现有系统造成不必要的干扰。同时,由于文章强调原创性和注明引用,确保在分享或借鉴这些解决方案时尊重作者的知识产权。