【发布时间】:2014-12-22 12:56:08
【问题描述】:
我有一个 maven 驱动的项目(目前我们使用 maven 3.0.5) 我们得出的结论是,我们必须开发我们的自定义 maven 插件,对我们的资源进行一些处理 + 对其运行验证(这涉及一些独特的逻辑,因此我们不能使用现有的 maven 插件)
应该做的例子有:
- 验证添加到模块的资源。如果它是 XML,请检查它是否符合架构, 检查这些 XML 之间是否没有重复(根据某些逻辑)等等。 例如,如果我有 XML:
我想确保没有其他同名的 XML。
如果它是基于 JSON 的资源,则检查它是否进行了基于自定义逻辑的验证。
主要是因为有太多人(项目非常大)在更改这些 XML,所以我们希望在编译时检查这些内容,至少我们可以检查的内容。
从这些 XML 中准备一个自定义分发(例如,我们创建 ZIP 的 ZIP,每个内部 zip 存档都包含一些这些 XML)
根据在这些 XML 中找到的信息生成一些元数据并将其添加到内部/外部 zip 中
现在,我想在项目的构建中一起构建 maven 插件。 这些验证可以随着逻辑而改变。例如,如果我创建新类型的 XML 资源,我可以开发新类型的验证,这些验证超出了针对模式的验证。 然后我希望这些验证运行每个构建。
据我了解,在 gradle 中有一个 buildSrc 目录用于此类事情,但是在 Maven 中我找不到类似的东西。
所以我的问题是我们如何在 Maven 中做到这一点?
非常感谢,祝您有美好的一天
【问题讨论】:
-
首先需要做什么处理?你能更详细地解释一下吗?愿你可以使用自定义过滤maven.apache.org/plugins/maven-resources-plugin/examples/…