我目前有这个设置:
项目 A 输出一个战争文件 - 有一个配置文件 (WEB-INF/web.xml)。我们已经通过注释掉的配置部分来交付它,当项目部署在特定环境中时,它会手动取消注释。
项目的需求发生了变化——我需要在完全没有该部分配置的情况下构建项目 A;并且我需要使用该配置部分构建另一个项目(项目 B)(启用,未注释掉)。
我希望我可以让项目 B 依赖于项目 A(通过战争覆盖),而不是在两个项目中都存在该文件(双重维护),然后使用 maven-config-processor-plugin 将我的特殊配置添加到 WEB -INF/web.xml,然后重新打包war文件。
这似乎不起作用 - 虽然 - 如果目标已经存在(即在上一次运行之后),配置修改可以工作,但是当我一起运行所有内容时,覆盖和重新打包到新战争中一起发生 - 我可以' t 想办法让 config-processor 插件在中间运行。基本上,默认顺序最终是“config-processor”(由于覆盖尚未发生而失败),然后是“war”(全部作为一个单元)。我不能让配置处理器在覆盖之后但在战争完全打包之前发生。
过去几年,互联网上的多人询问是否有办法在“解包覆盖”和“重新打包战争文件”步骤之间注入插件,但似乎没有人明确回答这个问题。有任何想法吗?