我有两个Web应用程序项目,项目A和项目B.项目B对项目A具有战争依赖性。两个项目都有messages.properties
个文件来处理i18n。但是,两个项目的属性位置相同。我正在使用maven war overlay插件将项目A的文件覆盖到项目B.如果文件位于这两个项目的相同位置,则maven将不会覆盖项目B的文件并保持原样。但是,这会导致维护问题,因为必须在两个Web应用程序的messages.properties中添加i18n的新文本。
有没有办法告诉maven war overlay插件在打包时合并属性文件?不存在已经存在的文件的逻辑在其他方面很好。
答案 0 :(得分:2)
你应该能够通过Maven Cargo插件输出一个超级战争来实现这一目标。
http://cargo.codehaus.org/Merging+WAR+files
它不知道如何合并属性文件,但实现自定义合并非常容易,您需要做的就是实现org.codehaus.cargo.module.merge.MergeProcessor
,并在类路径上使用它。< / p>
您可能只想编写一个可以将文件连接在一起的简单合并,除非您有重复的属性,那么您可能需要做一些更有趣的事情。