如何在Maven程序集中合并资源文件? [英] How can I merge resource files in a Maven assembly?

查看:82
本文介绍了如何在Maven程序集中合并资源文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Maven及其程序集插件来为我的项目构建分发包,如下所示:

  • 一个项目在ZIP文件中组装了一个基本的运行时(基于Felix)以及适当的目录和捆绑软件.
  • 第三方库每个都收集在一个项目中,或者转换为OSGi捆绑包,或者,如果它们已经与OSGi兼容,则只复制它们.
  • 我自己的项目也包含几个内置在OSGi捆绑软件中的模块.

现在,我要添加另一个项目,该项目将ZIP压缩包解压缩,将所有其他JAR放入正确的目录中,并重新打包以进行分发.现在,我的捆绑包中可能包含我想合并到配置文件中,而不是替换运行时程序集中同名文件的配置文件.我该怎么办?

这些文件是纯文本(属性文件),但是稍后我可能会遇到类似的情况.

解决方案

我不知道针对此问题的可靠解决方案.但是环顾四周的结果表明,某人具有创建了一个插件以合并属性文件.从外观上看,您需要告诉它要合并的文件,这是一件好事,因为您不希望应用此方法.

假定您已使用dependency-unpack将zip解压缩到一个已知位置,这是将插件配置为合并每对属性文件并指定适当的目标位置的情况.

解决方案

I don't know of a robust solution to this problem. But a bit of looking around shows that somebody has created a plugin to merge properties files. By the look of it you need to tell it which files to merge, which is a good thing as you don't want this applied willy nilly.

Assuming you have used dependency-unpack to unpack the zip to a known location, it would be a case of configuring the plugin to merge each pair of properties files and specify the appropriate target location.

You could extend the plugin to handle XML by using something like xmlmerge from EL4J, as described in this Javaworld article.

这篇关于如何在Maven程序集中合并资源文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆