【问题标题】:How to Use Different META-INF/context.xml Files For Development and Production Environments如何在开发和生产环境中使用不同的 META-INF/context.xml 文件
【发布时间】:2010-10-16 04:46:04
【问题描述】:

在 Tomcat(和其他一些 servlet 容器)中,我可以将有关我的 JDBC 数据源的信息存储在 META-INF/context.xml 中。这非常有用。

但是,我的 JDBC 数据源的设置在我的开发和生产环境中可能会有所不同。我想知道其他人如何以优雅的方式处理这些差异,特别是如何以最轻松的方式为我的开发环境和生产环境设置context.xml

【问题讨论】:

    标签: java tomcat jdbc jndi


    【解决方案1】:

    您可以为特定的构建创建不同的文件。例如,创建: development.context.xml production.context.xml

    然后,您可以控制在 build.xml 文件中使用哪个上下文文件。基本上,为您要使用的构建类型设置提示。当您选择开发时,它使用开发上下文文件。当您选择生产时,它使用生产上下文文件。

    【讨论】:

    • 这与 Ecipe 的动态 Web 应用程序支持的效果如何?
    • 我不确定。我不熟悉使用 Eclipse 进行 Web 开发。我只为此使用了 Netbeans。我相信这是可能的。 Ant应该能够处理它。
    【解决方案2】:

    我个人不会将这样的配置信息存储在 context.xml 中(可能在另一个属性文件或其他东西中),但是这样的一般方法是让您的构建脚本将不同版本的配置文件打包到战争/耳朵/无论如何。您可以让您的构建脚本根据您传入的参数、运行不同的目标等来决定是使用“dev”还是“production”配置文件。

    我经常使用的东西是 ant 中的 task,用于将文件中的某些标记替换为过滤器文件中的值;并根据我的目标环境交换使用哪个过滤器文件。

    【讨论】:

      【解决方案3】:

      我会像凯文提到的那样做。如果您使用的是 Maven,您将使用“配置文件”。

      【讨论】:

        【解决方案4】:

        如果您想了解有关 Maven 配置文件的更多信息,请阅读以下内容:Introduction to Build Profiles

        【讨论】:

          猜你喜欢
          • 2018-04-02
          • 1970-01-01
          • 1970-01-01
          • 2023-03-21
          • 2010-09-23
          • 1970-01-01
          • 2011-07-17
          • 1970-01-01
          相关资源
          最近更新 更多