【问题标题】:where to put a customised second web.xml在哪里放置自定义的第二个 web.xml
【发布时间】:2014-12-25 15:36:13
【问题描述】:

我想创建这个简单的架构:

我正在编写一个 Maven 应用程序,它被部署为服务器的战争。我想为我的本地机器和服务器使用相同的 web.xml,并根据机器添加单独的上下文参数。

现在我通过将它们放在 Tomcat 的全局 web.xml 中来做到这一点,但这会在所有正在运行的应用程序中传播(这是有效的,但显然不是正确的做法)。

我可以为特定的 web 应用程序添加 web.xml 参数吗? context.xml 中的某些设置?

【问题讨论】:

    标签: java xml maven tomcat


    【解决方案1】:

    作为一个练习(我还没有机会在生产中使用它),我尝试根据不同的配置文件在最终的 WAR 中打包一个不同的(转换后的)web.xml。

    您可以查看我自己的问题及其答案here

    【讨论】:

    • 我刚刚发现了另一个关于如何转换 XML 的问题,here's it
    • 这不是我想要的,因为在 web.xml 中我想保留 ELASTIC_CLUSTER_IP 或 RABBIT_MQ_IP 之类的东西,管理员可以更改它们并重新启动 tomcat。我不希望开发者选择配置文件和设置。
    • @arisalexis 我明白了。好吧,也许在这种情况下,您最好在运行时从环境/配置文件中读取这些参数? IE。来自听众?
    • 好的,但是正确的方法是什么?将配置文件放在哪里(战争之外)?我有一个初始听众,我可以阅读这些。
    • @arisalexis 谈到配置文件,我认为它们应该放在 WAR 中。如果强制不应该触摸工件,我会使用服务器环境(如何更改它取决于服务器管理员,您只需阅读 Web 应用程序中的环境设置)。
    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多