我的 web.xml 在开发环境和生产环境中是不同的。例如在开发环境中不需要安全约束。
通常我会按如下方式部署新的应用程序版本:
- 将 Eclipse 项目导出到 WAR。
- 上传WAR到服务器。
- 重新部署。
问题是我必须在导出之前手动取消注释 web.xml 中的安全约束。
你是如何解决这个问题的?
我在一些文章中也遇到过“web.xml 很少更改”的观点。但是,如果每次更新都导出到 WAR,web.xml 怎么可能不变呢?
提前致谢!
最佳答案
如果你不能在开发过程中使用相同的 web.xml
,我会自动化构建过程,使用两个 web.xml
并捆绑“正确的”一个正如 Brian 建议的那样,在构建时取决于目标环境。但是,我会选择 Maven 而不是 Ant,因为恕我直言,它需要的工作更少,而且它有一个名为 profiles 的内置功能。这非常适合管理像这里这样的特定于环境的东西。
换句话说,我将构建置于 Maven 2 下并使用包含特定 maven-war-plugin 配置的 production 配置文件来构建包含 web.xml
具有所需的安全约束。另一种选择是合并开发 web.xml
(cargo 可以做到这一点)以添加安全约束,但这已经是更“高级”的解决方案(更复杂一些)到位)。
关于java - 单独的 web.xml 用于开发和生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816006/