Tomcat 雄猫;将一场战争引用为另一场战争中的库
我有一些tomcat应用程序,使用.war文件部署在tomcat中。尽管这些战争彼此独立,但它们都是更大概念/应用程序的一部分,而且通常,一场战争需要调用另一场战争的代码 假设我有2场战争,“a战争”和“b战争”。。。我希望能够从“b.war”中使用“a.war”中的一些类。当然,一种选择是将公共代码拆分为第三个“.jar”,但由于我不想深入讨论的原因,这将导致其他问题(此外,在我的例子中,这不是“公共代码”,而是更像“一个应用程序调用另一个应用程序”。) 我在这里有什么选择?如果只是“一个应用程序调用另一个应用程序”,你可以使用Java RMI。如果只是“一个应用程序调用另一个应用程序”,你可以使用Java RMI。如果这里的目的是在单独的应用程序中使用“子应用程序”。在更大的应用程序的宏伟方案中,而不是共享代码/库中,相互通信,我建议:Tomcat 雄猫;将一场战争引用为另一场战争中的库,tomcat,reference,war,Tomcat,Reference,War,我有一些tomcat应用程序,使用.war文件部署在tomcat中。尽管这些战争彼此独立,但它们都是更大概念/应用程序的一部分,而且通常,一场战争需要调用另一场战争的代码 假设我有2场战争,“a战争”和“b战争”。。。我希望能够从“b.war”中使用“a.war”中的一些类。当然,一种选择是将公共代码拆分为第三个“.jar”,但由于我不想深入讨论的原因,这将导致其他问题(此外,在我的例子中,这不是“公共代码”,而是更像“一个应用程序调用另一个应用程序”。) 我在这里有什么选择?如果只是“一个应用
我不确定您是否完全反对创建一个.jar,或者仅仅反对为每个应用程序创建一个jar,但是在tomcat中有共享库的想法 在Tomcat5.5中,它位于/shared/,在Tomcat6中,它位于/lib之下。如果您将.jar(或.class文件?从未尝试过)放在那里,它们可能会被同一服务器实例中的任何.war引用
一方面,这很好,使.wars变得漂亮和小,可能有助于permgen空间,但另一方面,如果工件被许多.wars共享,则很难对其进行版本化。我不确定您是否完全反对创建一个.jar,或者仅仅反对每个应用程序创建一个jar的想法,但是在tomcat中有共享库的概念 在Tomcat5.5中,它位于/shared/,在Tomcat6中,它位于/lib之下。如果您将.jar(或.class文件?从未尝试过)放在那里,它们可能会被同一服务器实例中的任何.war引用
一方面,这很好,使.wars变得漂亮和小,可能有助于永久空间,但另一方面,如果工件被许多.wars共享,则很难对其进行版本化。也许我误解了tomcat的工作原理。。。tomcat“webapps”目录中的两个.war应用程序不是共享同一个jvm吗?如果是这样,servlet、webservices和rmi都是多余的;在tomcat中必须有更好的应用程序集成方法,然后深入到套接字级别。。。我希望…如果.wars都在同一个tomcat webapps目录下运行,那么它们将在一个tomcat jvm下运行。我在考虑多个tomcat部署,每个应用程序一个,但看看最初的问题,你是对的。servlet的跨上下文功能在一个tomcat容器中可能很有用:也许我误解了tomcat的工作原理。。。tomcat“webapps”目录中的两个.war应用程序不是共享同一个jvm吗?如果是这样,servlet、webservices和rmi都是多余的;在tomcat中必须有更好的应用程序集成方法,然后深入到套接字级别。。。我希望…如果.wars都在同一个tomcat webapps目录下运行,那么它们将在一个tomcat jvm下运行。我在考虑多个tomcat部署,每个应用程序一个,但看看最初的问题,你是对的。对于一个tomcat容器,servlet的跨上下文能力可能很有用: