【问题标题】:Compile and Deploy the Selected Modules in java在 java 中编译和部署选定的模块
【发布时间】:2014-03-25 23:41:25
【问题描述】:

在我的应用程序中,我有三个 java 模块。我必须通过选择模块1和模块2或模块3将它动态部署到tomcat服务器中。选定的模块将被打包并形成一个war文件,并在不重新启动的情况下部署到服务器中。我怎样才能做到这一点?是否有任何 Apache 产品/工具或任何可用于执行此操作的?

【问题讨论】:

    标签: java apache tomcat architecture jboss


    【解决方案1】:

    您应该查看的产品/工具是Tomcat Manager。 Tomcat 的默认安装带有 Tomcat 管理器。顾名思义,它可以为 Tomcat 管理(部署、取消部署、重新加载、启动、停止)应用程序而无需重新启动。我不确定您的需求是什么以及您的先决条件如何,但我看到了四种方法可以做到这一点:

    1. 如果您已经有 WAR,您可以通过浏览器简单地使用 Tomcat-Manager。只需调用经理 URL(例如 http://localhost:8080/manager/html)。在那里,您可以选择上传 WAR 和取消部署应用程序。 (在您可以登录之前,您必须编辑 tomcat-users.xml - 只需 google 一下)。
    2. 使用Apache Ant。 Ant 是一个基于 XML 的 Java 构建工具。使用 Ant,您可以编译源代码并将其打包到 WAR 中。如果你的tomcat在本地运行,你可以通过ant将WAR复制到Tomcat的webapps目录下。 Tomcat 将自动部署它(如果自动部署处于活动状态,默认情况下)。如果你从 webapps 中删除一个 WAR,tomcat 将自动取消部署。
    3. Tomcat 提供了一个带有 ant 命令的库,用于通过 HTTP over Tomcat-Manager 将 WAR 部署到服务器 (Tomcat Ant Commands)。所以如果tomcat是远程的,通过ant使用这个命令。
    4. 你不喜欢 Ant?通过 HTTP 直接使用 Tomcat 管理器。 (HTTP Commands)。当然,您必须自己编译和构建 WAR。

    希望对你有用。

    【讨论】:

    • 感谢您的回答。在我的要求中,我有三个模块,我想选择两个模块中的任何一个。例如:登录、保存模块。现在这些模块将组合在一起形成一个war文件,应该部署在服务器中。(这里的概念是只需要编译选定的特性/模块)。我怎样才能做到这一点?
    • 不客气。我建议使用 Ant 构建 WAR,具体取决于您的选择。如果服务器是您构建 WAR 的机器上的语言环境,请使用方式“2”。如果服务器是远程的,使用方式“3”。在这里发布一个详细的教程将是太多了,尤其是那里有很多教程。喜欢thisthat。如果您以前从未使用过 Ant,它可能看起来很复杂。但它是一个非常有用的工具,学习速度很快。
    • 感谢您的详细回答@VinZ。我有每个模块的 OSGI 包,是否可以通过选择和安装将其移动到不同的服务器。
    • 呃,OSGI 是一个独立的系统……我不是这方面的专家。对不起。 :(也许最好的选择是,你问一个新的问题,描述你的 OSGI 架构?
    猜你喜欢
    • 2016-08-31
    • 2013-05-20
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多