我有这个 Web 应用程序已经发展到无法管理的混乱状态。
我想把它分成一个通用的“框架”部分(仍然包括网页和图像等网页内容)和几个添加额外功能和屏幕的模块。我希望这种重构也可以用作第三方扩展的插件系统。
所有模块都需要是单独的部署单元,最好是 war 或 jar 文件。
我试图只制作几个常规的战争文件,但 Tomcat 将(根据 servlet 规范)这些战争文件彼此完全分开,例如,它们不能共享它们的类。
我需要插件才能看到“主”类路径。
我需要主应用程序对插件进行一些控制,例如能够列出它们并设置它们的配置。
我想保持插件本身(除非它们指定依赖项)和任何其他可能在同一个 Tomcat 上运行的不相关 Web 应用程序之间的完全分离。
我希望它们植根于“主”应用程序 URL 前缀下,但这不是必需的。
我想使用 Tomcat(大型架构更改需要与太多人协调),但也想了解 EJB 或 OSGi 世界中的干净解决方案(如果有)。