我有几个 tomcat 应用程序,使用 .war 文件部署在 tomcat 中。尽管这些 war 彼此独立,但它们都是更大概念/应用程序的一部分,而且经常,一场 war 需要调用另一场 war 的代码。
假设我有 2 个 .wars,“a.war”和“b.war”...我希望能够从“b.war”中使用“a.war”中的一些类.当然,一种选择是将通用代码拆分为第三个“.jar”,但出于我不想深入的原因,这会导致其他问题(此外,就我而言,情况并非如此的“公共(public)代码”,但更像是“一个应用程序调用另一个”。)
我有哪些选择?
最佳答案
如果这里的目的是让单独的 .wars 中的“子应用程序”在更大的应用程序的宏伟计划中相互通信,而不是共享代码/库,我建议:
Servlets - 设置 Servlets 以促进这些应用程序之间的通信,以便它们可以相互交谈。在您的 web.xml 文件中注册 servlet,为预期的 servlet url 运行一些连接测试,您很快就会启动并运行。
网络服务 - 为您的应用找到合适的网络服务实现,并创建一个 wsdl。
RMI,就像 BranTheMan 所建议的那样。
Servlets之间的crossContext通信(没试过)
关于 Tomcat ;将一场 war 称为另一场 war 中的图书馆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089497/