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