我开发了一个在本地 Apache Tomcat 7.0.14 服务器(我的开发环境)上运行的 Web 应用程序。我已准备好将我的应用程序推送到生产主机,但在为每个环境管理不同的条目值时遇到了问题。
我当前的构建过程完全在我的 Netbeans 7.0.1 IDE 中执行。它使用 Ant,这是我承认我不熟悉的东西,并生成一个 .war 文件。我可以通过复制这个 .war 文件来部署到我的生产主机。应用程序运行,但它缺少所有正确的生产配置数据。
我已将我的应用程序编写为可合理配置的。像大多数应用程序一样,我的开发环境和生产环境之间的各种数据必须有所不同。我能够将所有这些数据分离到我的部署描述符 (web.xml) 或上下文配置 (context.xml) 文件中,然后在我的应用程序中读取它。值的细节不是特别相关,但作为示例,至少有一个资源参考值用作数据源。
我不能做的是轻松地为我的不同配置维护单独的值。我希望有 web.xml 或 context.xml 文件的第二个副本,我可以使用它来构建 .war 文件的单独副本以部署到生产环境。我也会对允许我在此文件中插入某种变量(${}?)的解决方案感到满意。但是,我必须能够将数据本身保存在文件中,因为会有大量条目。由于数据将在文件中,我认为自然的解决方案是第二个 web.xml 或 context.xml 文件。
理想情况下,我希望在 Netbeans 中有一个简单的解决方案。缺少这一点,在 Ant 中执行此操作的说明可能就足够了。任何相关的术语也会有所帮助。我迷失了关于tomcat中“上下文”、“环境”和“部署”的阅读,它们的含义与我正在寻找的不同。最后,如果这不能通过任何一个来完成,是否有可以提供帮助的工具?编写一个独特的 shell 脚本远非理想。
很难相信没有一个简单的解决方案。这似乎是每个部署都需要解决的问题。这不是条目和引用存在于 xml 中的原因吗?但是,我在 Tomcat 手册中找不到任何关于此的内容。