我在 Websphere Server v.6 上安装了两个应用程序。1. SGOApplication 2. ReportingWeb
SGOApplication 有一个映射到应用程序级别的共享库,即 SGOAPPSHLIB
这个库有一个日志框架 jar(logsrv.jar)。logsrv.jar 中有一个名为SLEEventLogger的类,它将消息记录到一个文件中,并使用了一些其他第三方类,这些类都捆绑在 logsrv.jar 中
我想将 logsrv.jar 用于ReportingWeb Application。我从 ReportingWeb 中的另一个类调用了 SLEEventLogger 类。我能够构建 ear 并将其部署为 logsrv.jar 在构建路径中。
在那之后,我尝试了一些事情,但没有一个起作用。
- 将 SGOAPPSHLIB 映射到 ReportingWeb 应用程序的应用程序级别。使用应用程序类加载器优先策略。
- 创建了一个新的共享库 REPSHLIB 并将 logsrv.jar 放入其中。使用应用程序映射此库。使用应用程序类加载器优先策略。
- 在服务器级别映射 REPSHLIB。这适用于 REPORTINGWEB 应用程序,但其他应用程序 SGOApplication 现在无法找到该类。
我在尝试运行 webapplication时收到ClassDefNotFoundException: com.statestreet.framework.logging.SLEEventLogger ,并且控制到达了我使用 SLEEventLogger 的特定类。
我试图从 websphere 控制台中的疑难解答>类加载器中搜索 SLEEventLogger 类。我发现模块类加载器正在加载 SLEEventLogger 类。
如何解决这个问题?我在服务器配置上尝试了很多排列和组合,但没有运气。我完全搞砸了。