我有一个xsd文件,它在不同项目模块中的三个不同xml文件中引用,使用:

<item-groups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xml_schemas/item_groups.xml.xsd">

我一直在想如何避免手动将xsd复制到每个需要它的模块中,所以我不必维护三个文件而不是一个。
在maven中,有没有一种方法可以让我的一个模块中只有一个版本,并在构建时将其复制到另两个模块中?
谢谢!

最佳答案

假设xsd至少打包在一个模块中,那么maven依赖插件和dependency:unpack应该可以实现您想要的功能。我们的想法是将目标绑定到generate-resources上,从拥有它的模块中解包xsd(使用includes来获取您想要的内容),并在需要的地方编写它。有关完整示例,请参见Unpacking specific artifacts

10-06 12:07