如何在 WebSphere 中公开一个 WAR 中的类,该类被 TLD 文件中的另一个 TLD 文件引用



当我在本地运行 WebSphere 时,我收到"无法打开资源"警告,因为我的 app.tld 文件中的条目引用了同一 EAR 中另一个 WAR 中的基类。

我无法控制部署,因此将这些类文件打包对我来说不是一个好的解决方案。我能想到的唯一其他可行的解决方案是在我的 WAR 中创建一个子类,但由于我们的源代码管理,当基类更改时,我必须手动签出所有子类。

我也尝试使用类加载器设置,但没有运气。关于如何处理这种情况的任何建议/最佳实践?

最佳做法是将共享类放在 EAR 的 lib 目录中的 JAR 中。 下一个最佳选择是将 JAR 复制到两个 WAR 中。 我要考虑的最后一个选项是将应用程序类加载器策略更改为"应用程序"而不是默认的"模块",以便使用相同的类加载器加载所有 WAR。 有关更多信息,请参阅知识中心的类装入器主题。

最新更新