【问题标题】:How can Maven handle project / customer specific web.xml deployment descriptor in WARMaven 如何在 WAR 中处理项目/客户特定的 web.xml 部署描述符
【发布时间】:2012-04-04 05:14:04
【问题描述】:

我有两个问题;-)

  1. WAR 文件中的“web.xml”是否旨在包含项目/客户特定信息

    • 示例:对于 customerX,我们想要用于带宽和压缩的过滤器,对于 customerY,我们不想要这些过滤器
  2. Maven-Build-Process 如何允许我们为此类项目/客户特定的 WAR 文件进行不同的构建。

    • 是否应该使用 maven 配置文件完成
    • 是否应该通过将发布项目集成到单独的 WAR 构建中的单独构建过程来完成

【问题讨论】:

    标签: maven project web.xml


    【解决方案1】:

    对于第一个我建议说不。您应该通过使用属性文件来处理这些事情来解决这个问题。 您可以使用配置文件来处理此问题,但存在需要为您拥有的每个客户重建的缺点。可以说开发,测试,产品。这可以通过属性来解决,但这意味着要构建三次。我已经描述了一个更好的解决方案here,它可以通过一次构建来处理不同的位置。这也将解决发布问题。 使用依赖于 WAR 文件的单独 maven 项目(我们称之为配置模块)也是一种解决方案)。但这意味着三个不同的项目,如开发、测试和生产,我觉得这不是很方便。

    【讨论】:

    • thx,如果您有固定数量的项目(开发、测试、生产),您的解决方案很好,但如果您有例如 50 个客户,每个客户的构建过程会有点耗时客户需要自己的 web.xml 配置;-) 在我看来,WAR 格式的 web.xml 主要不适用于客户特定的配置,因为它捆绑在 war 文件中,因此之后无法更改构建过程。但这让我想知道,因为如果您可以提供客户特定的过滤器配置,web.xml 中的过滤器部分会非常酷
    • 我应该提到,对于特定客户,我的意思是,WAR(包含我们的 Webshop-Backend)将部署在 servletcontainer/appserver(Jetty、Tomcat、Jboss、Geronimo、Glassfish ) 将在网络服务器上运行。该网络服务器出售给我们的客户。因此,每个客户都有自己的 WAR 文件(带有客户特定的 web.xml 配置)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2017-11-04
    • 2011-06-21
    • 2015-12-18
    • 2013-10-02
    • 1970-01-01
    相关资源
    最近更新 更多